fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. int main()
  5. {
  6. char a[1000002];
  7. #ifndef ONLINE_JUDGE
  8. freopen("a.txt", "r" , stdin);
  9. freopen("1.out", "w", stdout);
  10. #endif
  11. int test,i,flag,check,l,m,k;
  12. scanf("%d\n",&test);
  13. while(test--)
  14. {
  15. flag=1;
  16. gets(a);
  17. l=strlen(a);
  18. k=l>>1;
  19. check=0;
  20. for(i=0;i<l;i++)
  21. {
  22. if(a[i]!='9')
  23. {
  24. flag=0;
  25. break;
  26. }
  27. }
  28. if(flag==1)
  29. {
  30. a[0]='1';
  31. for(i=1;i<l;i++)
  32. a[i]='0';
  33. a[l]='1';
  34. a[l+1]='\0';
  35. check=1;
  36. }
  37. flag=0;
  38. if(check!=1)
  39. {
  40. for(i=0;i<k;i++)
  41. {
  42. if(a[i]<a[l-1-i])
  43. flag=-1;
  44. else if(a[i]>a[l-1-i])
  45. flag=1;
  46. a[l-1-i]=a[i];
  47. }
  48.  
  49. if(!(l&1))
  50. m=k-1;
  51. else m=k;
  52. if(flag==0||flag==-1)
  53. {
  54. i=0;
  55. while(a[m-i]=='9')
  56. {
  57. a[m-i]='0';
  58. a[l-1-m+i]='0';
  59. i++;
  60. }
  61.  
  62. a[m-i]++;
  63. a[l-1-m+i]=a[m-i];
  64. }
  65. }
  66. printf("%s\n",a);
  67. }
  68. return 0;
  69. }
  70.  
Success #stdin #stdout 0s 4196KB
stdin
1
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
stdout
1111111111111111111111111111111111111111111111111221111111111111111111111111111111111111111111111111