题解:P6312 [PA2018] Palindrom
题目大意:
输入一个字符串,判断它是否回文。
因为内存很小,所以要一个一个读入字符。
判断一个字符串是否回文,考虑进行字符串哈希。
是一个质数,还有一个比它更大的质数 。
CODE
#include<cstdio>
const int b = 998244351, mod = 998244353;//数越大,错误概率越小
long long x, y, f = 1;
char c;
int main(){
cin >> n;
while((c = getchar()) < 'a');
for(; c >= 'a'; c = getchar()){
(f *= b) %= mod;
(x += f * (c - 'a')) %= mod;
((y += (c - 'a')) *= b) %= mod;
}
puts(x == y ? "TAK" : "NIE");
return 0;
}
posted on 2024-04-13 08:06 zhangzirui66 阅读(7) 评论(0) 收藏 举报 来源