Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
Register

## 为什么,WA,请高手帮助啊

Posted by frankzhou at 2006-05-01 10:15:10 on Problem 2611
```#include<iostream>
#include<cstring>
using namespace std;
int main()
{char digit[32];
char temp,min;
int i,t,j,len;
bool flag;

while(scanf("%s",digit) && digit[0]!='.')
{ flag = true;
len= strlen(digit);
if( digit[len-1]  == '2' ) {
digit[len-1] = '5';
flag = false;
}
else if ( digit[len-1] == '6' ){
digit[len-1] = '9';
flag=false;
}
else {
digit[len-2] = digit[len-1];
t = len-2;
i=t-1;
while(i>=0  && digit[i] >= digit[i+1] && digit[i] != '2' && digit[i] !='6'  ) {
i--;
}
if(i<0) flag = true;

else if ( digit[i]<digit[i+1])
{if (digit[i]== '2'&& digit[i+1]>'5')
{ digit[i] = '5';
flag=false;
}
else {flag=false;
min=i+1;

for( j= i+1 ; j<= len-2 ; j++ )
if(digit[j]>digit[i] &&digit[min]> digit[j] ) min = j;
if( digit[min] == '9' && digit[i] <'6')  digit[min] = '6';
if( digit[min] == '5' && digit[i] <'2' ) digit[min]= '2';
temp=digit[min];
digit[min] = digit[i];
digit[i] = temp;
}
}

else if (digit[i] == '2' )
{digit[i] = '5';
flag=false;
}
else if (digit[i] == '6')
{digit[i] = '9'; flag=false;}
for ( j = i+1 ;j<=len -2; j++ )
if ( digit[j] == '5' )
digit[j] = '2';
else if ( digit[j] == '9' )
digit[j]= '6';
for(i = i+1 ;i < len-2 ; i++  )
for( j = i+1 ; j<= len-2 ; j++ )
if( digit[i] > digit[j] )
{ temp = digit[i];
digit[i]= digit[j];
digit[j] = temp;
}
digit[len-1] = digit[len-2];
digit[len-2] = '.';
}

if (flag ) cout<<"The price cannot be raised."<<endl;
else    cout<< digit <<endl;
len=strlen(digit);
}

return 0;
}```

Followed by: