#include <iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int N;
char ch;
long lhash = 0;
long rhash = 0;
long MOD = 1000033;
long lastPower = 1;
long counter = 0;
cin >> N;
while (cin >> ch) {
counter++;
int k = (ch - 'a') + 1;
lhash = (lhash * 31 + k) % MOD;
if (counter == 1) {
lastPower = 1;
}
else {
lastPower = (31 * lastPower) % MOD;
}
rhash = (rhash + lastPower*k) % MOD;
}
if (lhash == rhash) {
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 | #include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int N; char ch; long lhash = 0; long rhash = 0; long MOD = 1000033; long lastPower = 1; long counter = 0; cin >> N; while (cin >> ch) { counter++; int k = (ch - 'a') + 1; lhash = (lhash * 31 + k) % MOD; if (counter == 1) { lastPower = 1; } else { lastPower = (31 * lastPower) % MOD; } rhash = (rhash + lastPower*k) % MOD; } if (lhash == rhash) { cout << "TAK"; } else { cout << "NIE"; } return 0; } |
English