题意:给定一个字符串,问是不是恰好存在 k 个字符串是回文串,并且一样长。
析:没什么好说的,每次截取n/k个,判断是不是回文就好。
代码如下:
#include<bits/stdc++.h> using namespace std; string s; bool judge(string s){ for(int i = 0, j = s.size()-1; i < s.size(); ++i, --j){ if(s[i] != s[j]) return false; } return true; } int main(){ int n; while(cin >> s){ cin >> n; bool ok = true; if(s.size() % n != 0){ puts("NO"); continue; } int t = s.size() / n; for(int i = 0; i < s.size(); i += t) if(!judge(s.substr(i, t))) { ok = false; break; } if(ok) puts("YES"); else puts("NO"); } return 0; }