Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "bits/stdc++.h"
- using namespace std;
- typedef long long LL;
- #define nl "\n"
- #define X first
- #define Y second
- #define MAX INT_MAX
- #define pb(a) push_back(a)
- #define gcd(a,b) __gcd(a,b)
- #define lcm(a,b) a*(b/gcd(a, b))
- #define mp(a,b) make_pair(a,b)
- #define check() {printf("OK\n");}
- #define SORT(v) sort(v.begin(),v.end())
- #define REV(v) reverse(v.begin(),v.end())
- #define mem(a,x) memset(a,x,sizeof(a))
- #define rep(i, n) for(int i = 0; i < (n); ++i)
- #define rep1(i, n) for(int i = 1; i <= (n); ++i)
- #define maxv(v) *max_element(v.begin(),v.end())
- #define minv(v) *min_element(v.begin(),v.end())
- #define each(it,s) for(auto it = s.begin(); it != s.end(); ++it)
- #define f() {ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);}
- #define UNQ(v) SORT(v),(v).erase(unique((v).begin(),(v).end()),(v).end())
- #define MOD 1000000007 // (int)1e9+7
- #define S(x) scanf("%d",&x)
- #define Sl(x) scanf("%lld",&x)
- #define P(x) printf("%d\n",x)
- #define Pl(x) printf("%lld\n",x)
- int main()
- {f();
- //freopen("input.txt", "r", stdin);
- //freopen("output.txt", "w", stdout);
- int t;
- S(t);
- while(t--)
- {
- int len;
- string s;
- cin>>s;
- //cout<<chk<<nl;
- if(s.length()==1){
- if(s[0]=='9'){
- cout<<"11"<<nl;
- }
- else{
- s[0] +=1;
- cout<<s[0]<<nl;
- }
- }
- else{
- vector<char>v;
- for(int i = 0; i<s.length();i++){
- if(s[i]=='9'){
- v.pb(s[i]);
- }
- }
- UNQ(v);
- if(v.size()==1){
- s.erase(s.begin());
- s = "10"+s;
- len = s.length();
- //cout<<s<<" s"<<nl;
- int mid = len/2;
- if(len%2){
- for(int i = 0,j=(len-1);i<mid,j>=(mid+1);i++,j--){
- s[j] = s[i];
- }
- }
- else{
- for(int i = 0,j=(len-1);i<mid,j>=(mid);i++,j--){
- s[j] = s[i];
- }
- //cout<<"chk "<<s<<nl;
- }
- }
- else{
- s[s.length()-1] += 1;
- len = s.length();
- //cout<<s<<nl;
- string chk = s;
- int mid = len/2;
- if(len%2){
- while(true){
- if(s<=chk){
- if(s[1]=='9')
- {
- s[0]+=1;
- for(int k = 1; k<s.length();k++)
- {
- s[k] = '0';
- }
- }
- else{
- s[1]+=1;
- }
- len = s.length();
- }
- for(int i = 0,j=(len-1);i<mid,j>=(mid+1);i++,j--){
- s[j] = s[i];
- }
- if(s>chk){
- break;
- }
- }
- }
- else{
- while(true){
- if(s<=chk){
- if(s[1]=='9')
- {
- s[0]+=1;
- for(int k = 1; k<s.length();k++)
- {
- s[k] = '0';
- }
- }
- else{
- s[1]+=1;
- }
- len = s.length();
- }
- for(int i = 0,j=(len-1);i<mid,j>=(mid);i++,j--){
- s[j] = s[i];
- }
- //cout<<"chk "<<s<<nl;
- if(s>chk){
- break;
- }
- }
- }
- //chk ="";
- }
- cout<<s<<nl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement