问题 K: 周期串plus
问题 K: 周期串plus
提交: 682 解决: 237
[提交] [状态] [命题人:外部导入]
题目描述
输入
多组测试数据,每组仅一行为一个仅有大写字母组成的字符串。
输出
对于每组数据输出该字符串的最小周期。
样例输入
HOHO
样例输出
2
#include<bits/stdc++.h> using namespace std; const int maxn=1e5+100; char s[maxn]; int n; bool Judge(int x) { if(n%(x+1)) return 0; int g=0; for(int i=x+1; s[i]; i++) { if(s[g]!=s[i]) return 0; g=(g+1)%(x+1); } return 1; } int main() { //freopen("in.txt", "r", stdin); while(scanf("%s",s)!=-1)//错误原因 没看见 多组输入输出 我了个靠 { n=strlen(s); for(int i=0; s[i]; i++) if(Judge(i)) { printf("%d\n",i+1); break; } } return 0; }