#include <iostream>
#include <cmath>
#include <algorithm>
const long long pot = 31;
const long long mod = 2760727302517;
int main() {
std::ios::sync_with_stdio(false);
int n;
std::cin >> n;
char c;
long long h1 = 0, h2 =0;
long long current_pot = 1;
while (std::cin >> c) {
long long x = c - 'a';
h1 += x * current_pot;
h1 %= mod;
h2 = (pot * h2 + x) % mod;
current_pot *= pot;
current_pot %= mod;
}
if (h1 == h2) {
std::cout << "TAK";
} else {
std::cout << "NIE";
}
}
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 | #include <iostream> #include <cmath> #include <algorithm> const long long pot = 31; const long long mod = 2760727302517; int main() { std::ios::sync_with_stdio(false); int n; std::cin >> n; char c; long long h1 = 0, h2 =0; long long current_pot = 1; while (std::cin >> c) { long long x = c - 'a'; h1 += x * current_pot; h1 %= mod; h2 = (pot * h2 + x) % mod; current_pot *= pot; current_pot %= mod; } if (h1 == h2) { std::cout << "TAK"; } else { std::cout << "NIE"; } } |
English