Advertisement
Farjana_akter

Untitled

Aug 6th, 2020
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #include<string.h>
  3. #include<stdio.h>
  4. using namespace std;
  5. typedef long long int ll;
  6.  
  7. char s[1000005];
  8.  
  9. bool checkall()
  10. {
  11. ll len=strlen(s);
  12. for(ll i=0;i<len;i++)
  13. {
  14. if(s[i]!='9')
  15. return false;
  16. }
  17. return true;
  18. }
  19.  
  20.  
  21. void oddfun()
  22. {
  23. ll len=strlen(s);
  24. ll i,j,k,l;
  25. if(checkall())
  26. {
  27. cout<<1;
  28. ll sz=len-1;
  29. while(sz--)
  30. cout<<0;
  31. cout<<1<<endl;
  32. }
  33. else
  34. {
  35. string a="",b="",c="",res="";
  36. ll mid=(len/2);
  37. for(i=0; i<mid; i++)
  38. a+=s[i];
  39. res+=a;
  40. res+=s[mid];
  41. reverse(a.begin(),a.end());
  42. res+=a;
  43. if(res>s)
  44. {
  45. cout<<res<<endl;
  46. }
  47. else
  48. {
  49. if(s[mid]!='9')
  50. {
  51. res="",a="";
  52. for(i=0; i<mid; i++)
  53. a+=s[i];
  54. res+=a;
  55. ll x=(s[mid]-'0')+1;
  56. res+=(x+'0');
  57. reverse(a.begin(),a.end());
  58. res+=a;
  59. cout<<res<<endl;
  60. }
  61. else
  62. {
  63. a="",res="";
  64. for(i=0; i<=mid; i++)
  65. {
  66. a+=s[i];
  67. }
  68. ll x=stoi(a)+1;
  69. b=to_string(x);
  70. for(i=0; i<b.size()-1; i++)
  71. c+=b[i];
  72. res+=b;
  73. reverse(c.begin(),c.end());
  74. res+=c;
  75. cout<<res<<endl;
  76. }
  77. }
  78. }
  79. }
  80.  
  81. void evenfun()
  82. {
  83. ll len=strlen(s);
  84. ll i,k,j,l;
  85. string a="",b="",c="",res="";
  86. if(checkall())
  87. {
  88. cout<<1;
  89. ll sz=len-1;
  90. while(sz--)
  91. cout<<0;
  92. cout<<1<<endl;
  93. }
  94. else
  95. {
  96. ll mid=len/2;
  97. for(i=0; i<mid; i++)
  98. a+=s[i];
  99. res+=a;
  100. reverse(a.begin(), a.end());
  101. res+=a;
  102. if(res>s)
  103. cout<<res<<endl;
  104. else
  105. {
  106. if(s[mid-1]!='9')
  107. {
  108. a="",res="";
  109. s[mid-1]=(s[mid-1]-'0'+1)+'0';
  110. for(i=0; i<mid; i++)
  111. a+=s[i];
  112. res+=a;
  113. reverse(a.begin(), a.end());
  114. res+=a;
  115. cout<<res<<endl;
  116. }
  117. else
  118. {
  119. res="",a="";
  120. for(i=0; i<=mid; i++)
  121. a+=s[i];
  122. ll x=stoi(a)+1;
  123. b=to_string(x);
  124. for(i=0; i<b.size()-1; i++)
  125. c+=b[i];
  126. res+=c;
  127. reverse(c.begin(),c.end());
  128. res+=c;
  129. cout<<res<<endl;
  130. }
  131. }
  132. }
  133. }
  134.  
  135. int main()
  136. {
  137.  
  138. ll t,i,j,k,cas;
  139. cin>>t;
  140. for(cas=1; cas<=t; cas++)
  141. {
  142. scanf("%s",s);
  143. ll len=strlen(s);
  144. cout<<"Case "<<cas<<": ";
  145. if(len%2==0)
  146. {
  147. evenfun();
  148. }
  149. else
  150. {
  151. oddfun();
  152. }
  153. }
  154. return 0;
  155. }
  156.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement