All pastes #275104 Raw Edit

Stuff

public text v1 · immutable
·published 2006-12-11 06:17 UTC
rendered paste body
#include<iostream.h>
#include<string.h>

int main(void)
{
    char a[100000];
    long int b[100000],c[100000];
    int n,l,i,j,r,flag=0,q1=0;
    cin>>r;
    while(r--)
    {
       cin>>a;
       l=strlen(a);
       n=l/2;
    for(i=0;i<l;i++)
    b[i]=a[i] -'0';
    if(l==1)
    {
    cout<<"11"<<"\n";
    cout<<"\n";
    continue;
    }
    if(l==2)
    {  
       if(b[0]<=b[1])
       {     
       b[0]=b[0]+1;
       b[1]=b[0];
       for(i=0;i<l;i++)
       cout<<b[i];
       cout<<"\n";
       continue;     
       }
       else
       {
           if(b[0]!=b[1])
           b[1]=b[1]+1;
           else
           {
               for(i=0;i<l;i++)
               {
                  cout<<b[i];
                  cout<<"\n";
                  continue;             
               }
           }   
       }   
    }
    if(l%2==1)
       {
         if(b[0]==9&&b[l-1]==9)
         {
           c[0]=1;
           for(i=1;i<l;i++)
           c[i]=b[i]-9;
           for(i=0;i<l;i++)
           cout<<c[i];
           cout<<"1";
           cout<<"\n";
            cout<<"\n";  
           continue;
         }     
         if(b[n]==9)
         {
             for(i=0;i<=n;i++)
             {
                 if(b[i]!=9)
                 b[i]=b[i]+1;
                 else
                 b[i]=0;
             }            
                 for(i=l-1,j=0;i>=n;i--,j++)
                 b[i]=b[j];    
                 for(i=0;i<l;i++)
                 cout<<b[i];
                 cout<<"\n";
                  cout<<"\n";  
         }   
          else
          {
              
               b[n]=b[n]+1;
              for(i=l-1,j=0;i>=n;i--,j++)
              b[i]=b[j];
              for(i=0;i<l;i++)
              cout<<b[i];
              cout<<"\n";
               cout<<"\n";               
          }     
     }
  else
       {
          if(b[0]==9&&b[l-1]==9)
         {
           c[0]=1;
           for(i=1;i<l;i++)
           c[i]=b[i]-9;
           for(i=0;i<l;i++)
           cout<<c[i];
           cout<<"1";
           cout<<"\n";
            cout<<"\n";  
           continue; 
         }
         
         if(b[n-1]==9&&b[n]==9)
         {       
           for(i=n-1;i>=0;i--)
            {
             if(b[i]<b[l-i-1])
             {
               if(b[l-i-1]==9)
               {
                b[i]=b[i]+1;
                b[l-i-1]=b[i];
                continue;
                }
                else
                {              
                  b[i]=b[i]+1;               
                  for(i=n-1;i>=0;i--)
                  b[l-i-1]=b[i];
                  continue;
                }
             }  
             if(b[i]>b[l-i-1])
             {
               for(i=n-1;i>=0;i--)
                 b[l-i-1]=b[i];          
                 continue;
            }
             else
             {
                 if(b[i]&&b[l-i-1]==9)
                 {
                b[i]=0;
                b[l-i-1]=0; 
                continue;
                }
                else
                {
                    b[i]=b[i]+1;
                    b[l-i-1]=b[l-i-1]+1;
                    continue;
                    }
             }
         }  
                     
            for(i=0;i<l;i++)
                 cout<<b[i];
                 cout<<"\n";
                 cout<<"\n";
                 continue;      
       }
       
       
           else
           {
               
             if(b[n-1]>b[n])
               {
                 for(i=0;i<=n;i++)
                 b[l-i-1]=b[i];
                 for(i=0;i<l;i++)
                 cout<<b[i];
                 cout<<"\n";
                 cout<<"\n";
                 continue;                               
               }
               if(b[n-1]==b[n])
               {
                  for(i=n-2;i>=0;i--)             
                    {
                       if(b[i]<b[l-i-1])
                       {
                             b[i]=b[i]+1;             
                             for(i=0;i<=n;i++)
                             b[l-i-1]=b[i];           
                             for(i=0;i<l;i++)
                             cout<<b[i];
                             cout<<"\n";              
                             cout<<"\n";
                             flag=0;
                             break;
                       }           
                       if(b[i]>b[l-i-1])
                       {
                             for(i=0;i<=n;i++)
                             b[l-i-1]=b[i];
                             for(i=0;i<l;i++)
                             cout<<b[i];
                             cout<<"\n";
                             cout<<"\n";
                             flag=0;
                             break;
                       }           
                       if(b[i]==b[l-i-1])
                       {
                         flag=1;                
                       continue;
                       }
                    }
                    if(flag==1)
                    {
                    b[n-1]=b[n-1]+1;
                    b[n]=b[n-1];
                    for(i=0;i<l;i++)
                    cout<<b[i];
                    cout<<"\n";
                    cout<<"\n";
                    }
                  }                
              
               if(b[n-1]<b[n])
               {
                 b[n-1]=b[n-1]+1;             
                 for(i=0;i<=n;i++)
                 b[l-i-1]=b[i];           
                 for(i=0;i<l;i++)
                 cout<<b[i];
                 cout<<"\n";
                 cout<<"\n";
                 continue;
                }
             
            }   
           }
         }    
      cout<<"\n";
      return(0);
}