Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- int t;
- cin >> t;
- while(t--)
- {
- string a;
- cin >> a;
- int l=a.length();
- int mid;
- string ans;
- if(a.length()==1 && a!="9")
- {
- ans=a[0]+1;
- cout << ans << endl;
- continue;
- }
- //check 999
- int c=1;
- for(int i=0;i<a.length();i++)
- {
- if(a[i]!='9')
- {
- c=0;
- }
- }
- if(c==1)
- {
- ans.push_back('1');
- for(int i=0;i<a.length()-1;i++)
- {
- ans.push_back('0');
- }
- ans.push_back('1');
- cout << ans << endl;
- continue;
- }
- if(l%2==0)
- {
- mid=(l/2)-1;
- string t1,t2;
- for(int i=0;i<=mid;i++)
- {
- t1.push_back(a[i]);
- }
- for(int i=mid+1;i<a.length();i++)
- {
- t2.push_back(a[i]);
- }
- reverse(t1.begin(),t1.end());
- if(t2<t1)
- {
- ans=t1;
- reverse(t1.begin(),t1.end());
- ans=t1+ans;
- }
- else
- {
- if(a[mid]!='9')
- {
- a[mid]+=1;
- t1.clear();
- for(int i=0;i<=mid;i++)
- {
- t1.push_back(a[i]);
- }
- ans=t1;
- reverse(t1.begin(),t1.end());
- ans=ans+t1;
- }
- else
- {
- int p=mid;
- a[p]='0';
- while(p>=0 && a[p]=='0')
- {
- p--;
- if(a[p]=='9')
- {
- a[p]=='0';
- }
- else
- {
- a[p]+=1;
- }
- }
- t1.clear();
- for(int i=0;i<=mid;i++)
- {
- t1.push_back(a[i]);
- }
- ans=t1;
- reverse(t1.begin(),t1.end());
- ans=ans+t1;
- }
- }
- }
- else
- {
- mid=l/2;
- string t1,t2;
- for(int i=0;i<=mid-1;i++)
- {
- t1.push_back(a[i]);
- }
- for(int i=mid+1;i<l;i++)
- {
- t2.push_back(a[i]);
- }
- reverse(t1.begin(),t1.end());
- if(t2<t1)
- {
- ans=a[mid]+t1;
- reverse(t1.begin(),t1.end());
- ans=t1+ans;
- }
- else
- {
- if(a[mid]!=57)
- {
- a[mid]=a[mid]+1;
- ans=a[mid]+t1;
- reverse(t1.begin(),t1.end());
- ans=t1+ans;
- }
- else
- {
- int p=mid;
- a[p]='0';
- while(p>=0 && a[p]=='0')
- {
- p--;
- if(a[p]=='9')
- {
- a[p]=='0';
- }
- else
- {
- a[p]+=1;
- }
- }
- for(int i=0;i<=mid-1;i++)
- {
- ans.push_back(a[i]);
- }
- ans=ans+'0';
- for(int i=mid-1;i>=0;i--)
- {
- ans.push_back(a[i]);
- }
- }
- }
- }
- cout << ans << endl;
- }
- }
Add Comment
Please, Sign In to add comment