fork(1) download
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. long int t,i,j,k,count,mid,carry;
  6. char n[1000002];
  7. scanf("%d",&t);
  8. while(t--)
  9. {
  10.  
  11. scanf("%s",n);
  12. count=strlen(n);
  13. for(i=0;i<count;i++)
  14. {
  15. if(n[i]!='9')
  16. break;
  17. }
  18. if(i==count)
  19. {
  20. printf("1");
  21. for(j=0;j<count-1;j++)
  22. printf("0");
  23. printf("1");
  24. }
  25. else if(count==1)
  26. {
  27. n[0]+=1;
  28. printf("%s",n);
  29. }
  30. else
  31. {
  32. mid=count/2;
  33. //printf("%ld",count);
  34. if(count%2==0)
  35. {
  36. for(i=0;i<mid;i++)
  37. {
  38. if(n[mid-1-i]!=n[mid+i])
  39. break;
  40. }
  41. if(i==mid)
  42. {
  43. n[count-1]+=1;
  44. }
  45. //printf("%s",n);
  46. for(i=0;i<mid;i++)
  47. {
  48. if(n[mid-i-1]<n[mid+i])
  49. break;
  50. }
  51. if(i==mid)
  52. {
  53. for(j=0;j<mid;j++)
  54. n[mid+j]=n[mid-j-1];
  55. }
  56. else
  57. {
  58.  
  59. carry=1;
  60. k=0;
  61. while(carry==1)
  62. {
  63.  
  64. // printf("%c",n[mid-1-k]);
  65. if(n[mid-1-k]=='9')
  66. {
  67. n[mid-1-k]='0';
  68. carry=1;
  69. }
  70. else
  71. {
  72. n[mid-1-k]+=1;
  73. carry=0;
  74. }
  75.  
  76. k++;
  77.  
  78. }
  79. for(j=0;j<mid;j++)
  80. n[mid+j]=n[mid-j-1];
  81. }
  82.  
  83. }
  84. else//odd k lie
  85. {
  86. for(i=0;i<mid;i++)
  87. {
  88. if(n[mid-1-i]!=n[mid+i+1])
  89. break;
  90. }
  91. if(i==mid)
  92. n[count-1]+=1;
  93. for(i=0;i<mid;i++)
  94. {
  95. if(n[mid-i-1]<n[mid+i+1])
  96. break;
  97. }
  98. if(i==mid)
  99. {
  100. for(j=0;j<mid;j++)
  101. n[mid+j+1]=n[mid-j-1];
  102. }
  103. else
  104. {
  105. mid=mid+1;
  106. carry=1;
  107. k=0;
  108. while(carry==1)
  109. {
  110.  
  111. // printf("%c",n[mid-1-k]);
  112. if(n[mid-1-k]=='9')
  113. {
  114. n[mid-1-k]='0';
  115. carry=1;
  116. }
  117. else
  118. {
  119. n[mid-1-k]+=1;
  120. carry=0;
  121. }
  122.  
  123. k++;
  124.  
  125. }
  126. for(j=0;j<mid-1;j++)
  127. n[mid+j]=n[mid-j-2];
  128. }
  129.  
  130. }
  131.  
  132.  
  133. printf("%s",n);
  134. }
  135. printf("\n");
  136. }
  137. return 0;
  138. }
  139.  
  140.  
  141.  
Success #stdin #stdout 0.02s 3580KB
stdin
1
289882
stdout
289982