Advertisement
Farjana_akter

Untitled

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