fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. int t;
  6. scanf("%d",&t);
  7. while(t--)
  8. {
  9. char p[1000010];
  10. scanf("%s",p);
  11. int flag=0;
  12. int len=strlen(p);
  13. int i=0;
  14. for(i=0;i<len;i++)
  15. if(p[i]!='9')
  16. break;
  17. if(len==1)
  18. {
  19. if(p[0]=='9')
  20. printf("11\n");
  21. else
  22. printf("%c\n",p[0]+1);
  23. continue;
  24. }
  25.  
  26. ;
  27. if(i==len)
  28. {
  29. printf("1");
  30. for(i=0;i<len-1;i++)
  31. printf("0");
  32. printf("1\n");
  33. continue;
  34. }
  35. int left=0,right=len-1;
  36. while(left<right)
  37. {
  38. if(p[left]>p[right])
  39. {
  40. p[right]=p[left];
  41. flag=1;
  42. }
  43. else
  44. {
  45. p[right]=p[left];
  46. }
  47.  
  48. left++;
  49. right--;
  50. }
  51. if(flag==0)
  52. {
  53. if(left==right)
  54. {
  55. if(p[left]=='9')
  56. {
  57. p[left]='0';
  58. p[left-1]=p[left-1]+1;
  59. p[right+1]=p[left-1];
  60. }
  61. else
  62. p[left]=p[left]+1;
  63.  
  64. }
  65. else
  66. {
  67. left--;
  68. right++;
  69. if(p[left]=='9')
  70. {
  71. p[left]='0';
  72. p[right]='0';
  73. p[left-1]=p[left-1]+1;
  74. p[right+1]=p[left-1];
  75. }
  76. else
  77. { p[left]=p[left]+1;
  78. p[right]=p[right]+1;
  79. }
  80. }
  81. }
  82.  
  83. printf("%s\n",p);
  84. }
  85. return 0;
  86. }
Success #stdin #stdout 0s 3148KB
stdin
Standard input is empty
stdout
Standard output is empty