fork(4) download
  1. #include<iostream>
  2. #include<string.h>
  3. using namespace std;
  4. int main()
  5. {
  6. int t;
  7. cin>>t;
  8. while(t--)
  9. {
  10. char b[1000010],a[1000010];
  11. cin>>b;
  12. strncpy(a,b,sizeof(b));
  13. int i,j,length,count=0;
  14. for(i=0;b[i]!='\0';i++)
  15. {
  16. count++;
  17. }
  18. length = count;
  19. if(length==1 && a[0]!='9')
  20. {
  21. a[0]++;
  22. cout<<a<<endl;
  23. continue;
  24. }
  25. i=0;
  26. j=length-1;
  27. while(i<j)
  28. {
  29. if(a[i]!=a[j])
  30. {
  31. a[j]=a[i];
  32. }
  33. i++;
  34. j--;
  35. }
  36. int flag = 0;
  37. for(i=0;;i++)
  38. {
  39. if(a[i]>b[i])
  40. {
  41. flag=1;
  42. break;
  43. }
  44. else if(a[i]<b[i])
  45. break;
  46. }
  47. if(flag==1)
  48. cout<<a<<endl;
  49. else
  50. {
  51. for(;j>=0;j--)
  52. {
  53. if(a[j]=='9')
  54. a[j]='0';
  55. else
  56. {
  57. a[j]++;
  58. flag=1;
  59. break;
  60. }
  61. }
  62. if(flag==0)
  63. {
  64. for(i=length;i>0;i--)
  65. {
  66. a[i]=a[i-1];
  67. }
  68. a[0]='1';
  69. }
  70. count=0;
  71. for(i=0;a[i]!='\0';i++)
  72. count++;
  73. a[count]='\0';
  74. length = count;
  75. i=0;
  76. j=length-1;
  77. while(i<j)
  78. {
  79. if(a[i]!=a[j])
  80. {
  81. a[j]=a[i];
  82. }
  83. i++;
  84. j--;
  85. }
  86. cout<<a<<endl;
  87. }
  88. }
  89. return 0;
  90. }
Success #stdin #stdout 0s 4560KB
stdin
2
9999
99999
stdout
9999
99999