#include <cstdio>
int main ()
{
unsigned long long
x[16]={0,0},
y[16]={0,0},
p[16]={636094623231363827,595056260442243529},
r[16]={1,1};
int c, d,
q[16]={29,31};
scanf ("%d ", &c);
while (1)
{
c=getchar ();
if (c<'a'||c>'z') break;
c-='a';
for (int i=0; i<2; i++)
{
x[i]*=q[i]; x[i]%=p[i]; x[i]+=c; x[i]%=p[i];
y[i]+=c*r[i]%p[i]; y[i]%=p[i]; r[i]*=q[i]; r[i]%=p[i];
}
}
d=0;
for (int i=0; i<2; i++) d+=x[i]!=y[i];
puts (d? "NIE": "TAK");
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <cstdio> int main () { unsigned long long x[16]={0,0}, y[16]={0,0}, p[16]={636094623231363827,595056260442243529}, r[16]={1,1}; int c, d, q[16]={29,31}; scanf ("%d ", &c); while (1) { c=getchar (); if (c<'a'||c>'z') break; c-='a'; for (int i=0; i<2; i++) { x[i]*=q[i]; x[i]%=p[i]; x[i]+=c; x[i]%=p[i]; y[i]+=c*r[i]%p[i]; y[i]%=p[i]; r[i]*=q[i]; r[i]%=p[i]; } } d=0; for (int i=0; i<2; i++) d+=x[i]!=y[i]; puts (d? "NIE": "TAK"); return 0; } |
English