Don't like ads? PRO users don't see any ads ;-)
Guest

PALIN

By: a guest on May 8th, 2012  |  syntax: C++  |  size: 1.13 KB  |  hits: 23  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. using namespace std;
  6.  
  7. int inc_vet(char * vet,int index)
  8. {
  9.     int i,j;
  10.     for (i=0; vet[i] != '\0'; i++) {}
  11.     for (j=0; vet[j] == '9'; j++) {}
  12.     if (i==j)
  13.     {
  14.         vet[0]='1';
  15.         for (i=1; i<=j; i++)
  16.         {
  17.             vet[i]='0';
  18.         }
  19.         return 1;
  20.     }
  21.     else
  22.     {
  23.  
  24.  
  25.         if (vet[index] == '9')
  26.         {
  27.             vet[index]='0';
  28.             inc_vet(vet,index-1);
  29.         }
  30.         else
  31.         {
  32.             vet[index]++;
  33.         }
  34.     }
  35.     return 0;
  36. }
  37.  
  38. int main()
  39. {
  40.     int n, i, end;
  41.     char number[1000002];
  42.     scanf("%d",&n);
  43.     for (; n>0; n--)
  44.     {
  45.         scanf("%s",number);
  46.         for (i=0; number[i] != '\0'; i++) { }
  47.         end=i-1;
  48.         end+=inc_vet(number,end);
  49.         //printf("%s\n",number);
  50.         for (i=0; i<((end+1)/2); i++)
  51.         {
  52.             while (number[i] != number[end-i])
  53.             {
  54.  
  55.                 end+=inc_vet(number,end-i);
  56.                 //printf("%s %d\n",number,i);
  57.             }
  58.         }
  59.         printf("%s\n",number);
  60.     }
  61.     return 0;
  62. }