问题 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;
}