#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll q = 29;
const ll mod = 1000000007;
ll p, H1, H2;
char c;
int n;
int main ()
{
scanf ("%d ",&n);
p=1;
while (true)
{
c = getchar_unlocked();
if (c<'a' || c>'z')
break;
c -= ('a'-1);
(H1+=(p*c))%=mod;
((H2*=q)+=c)%=mod;
(p*=q)%=mod;
}
printf ("%s\n",H1==H2 ? "TAK" : "NIE");
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 <bits/stdc++.h> using namespace std; typedef long long ll; const ll q = 29; const ll mod = 1000000007; ll p, H1, H2; char c; int n; int main () { scanf ("%d ",&n); p=1; while (true) { c = getchar_unlocked(); if (c<'a' || c>'z') break; c -= ('a'-1); (H1+=(p*c))%=mod; ((H2*=q)+=c)%=mod; (p*=q)%=mod; } printf ("%s\n",H1==H2 ? "TAK" : "NIE"); return 0; } |
English