#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; } |