#include <bits/stdc++.h>
using namespace std;
char a;
int n;
unsigned long long h,hw,g,gw,p=1,pk=1;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n;
while(cin>>a)
{
n=a-97;
h+=p*n;
p*=29;
hw*=29;
hw+=n;
if(h>368934870) h%=2000000011;
if(p>2000000010) p%=2000000011;
if(hw>636094623000000000) hw%=2000000011;
g+=pk*n;
pk*=29;
gw*=29;
gw+=n;
if(g>368934870) g%=2000000033;
if(pk>2000000010) pk%=2000000033;
if(gw>636094623000000000) gw%=2000000033;
}
h%=2000000011;
hw%=2000000011;
g%=2000000033;
gw%=2000000033;
if(h==hw && g==gw) cout<<"TAK";
else cout<<"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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include <bits/stdc++.h> using namespace std; char a; int n; unsigned long long h,hw,g,gw,p=1,pk=1; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n; while(cin>>a) { n=a-97; h+=p*n; p*=29; hw*=29; hw+=n; if(h>368934870) h%=2000000011; if(p>2000000010) p%=2000000011; if(hw>636094623000000000) hw%=2000000011; g+=pk*n; pk*=29; gw*=29; gw+=n; if(g>368934870) g%=2000000033; if(pk>2000000010) pk%=2000000033; if(gw>636094623000000000) gw%=2000000033; } h%=2000000011; hw%=2000000011; g%=2000000033; gw%=2000000033; if(h==hw && g==gw) cout<<"TAK"; else cout<<"NIE"; return 0; } |
English