题目链接https://www.nowcoder.com/acm/contest/91/I
思路:从左往右扫,发现第一个奇数,要特判第一个为9的情况。然后比第一个奇数大的让其后面的奇数全为0;比第一个奇数小的让其后面全为8。
判断原来的数后面是否大于444.....444。如果大于那么就选第一个数,否则选第二个数。
1 /* 2 代码写丑了 3 */ 4 #include5 #include 6 #include 7 #include 8 #include 9 using namespace std; 10 bool cmp(string a,int num){ 11 for(int i=num;i '4'){ 15 return false; 16 }else{ 17 return true; 18 } 19 } 20 return true; 21 } 22 int main(){ 23 int n; 24 cin>>n; 25 while(n--){ 26 string a; 27 cin>> a; 28 char ans1[100500]; 29 memset(ans1,0,sizeof(ans1)); 30 char ans2[100500]; 31 memset(ans2,0,sizeof(ans2)); 32 int flag=0; 33 for(int j=0;j