Pagini recente »
Diferențe pentru utilizator/hortolomeieliza între reviziile 21 și 22
|
Istoria paginii runda/probleme_noi/clasament
|
Cod sursă (job #294936)
Cod sursă (job
#294936)
#include<cstdio>
using namespace std;
int v[15];
int main()
{
FILE* in = fopen("semipalindrom.in", "r");
FILE* out = fopen("semipalindrom.out", "w");
int n;
fscanf(in, "%d", &n);
int i = 1;
while(n)
{
v[i] = n % 10;
n /= 10;
++i;
}
--i;
int st = 1, dr = i;
while(st < dr)
{
int aux = v[st];
v[st] = v[dr];
v[dr] = aux;
++st;
--dr;
}
int z = i / 2;
int g;
if(i % 2 == 1) g = z + 2;
else g = z + 1;
int h = 0, j = 0;
int k = 1;
h = v[1];
j = v[g];
while(z != 1)
{
h = h * 10 + v[k + 1];
++k;
--z;
}
while(g != i)
{
j = j * 10 + v[g + 1];
++g;
}
if(j == h) fprintf(out, "%d", j);
else fprintf(out, "%d", v[1]);
}