
PALIN
By: a guest on
May 8th, 2012 | syntax:
C++ | size: 1.13 KB | hits: 23 | expires: Never
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int inc_vet(char * vet,int index)
{
int i,j;
for (i=0; vet[i] != '\0'; i++) {}
for (j=0; vet[j] == '9'; j++) {}
if (i==j)
{
vet[0]='1';
for (i=1; i<=j; i++)
{
vet[i]='0';
}
return 1;
}
else
{
if (vet[index] == '9')
{
vet[index]='0';
inc_vet(vet,index-1);
}
else
{
vet[index]++;
}
}
return 0;
}
int main()
{
int n, i, end;
char number[1000002];
scanf("%d",&n);
for (; n>0; n--)
{
scanf("%s",number);
for (i=0; number[i] != '\0'; i++) { }
end=i-1;
end+=inc_vet(number,end);
//printf("%s\n",number);
for (i=0; i<((end+1)/2); i++)
{
while (number[i] != number[end-i])
{
end+=inc_vet(number,end-i);
//printf("%s %d\n",number,i);
}
}
printf("%s\n",number);
}
return 0;
}