测试样例:
Sample Input
1
HoHoHo
Sample Output
2
题目大意:T个测试样例,每个测试样例给定一个字符串,求给定字符串的最短循环长度。
AC代码:
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char s[105];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%s",s);
int len=strlen(s);
int ans=0;
for(int i=1;i<len;i++)
{
if(s[i]==s[0])//循环必定从头开始
{
int k=0,j=i;
while(j<len)
{
if(s[k]!=s[j])
break;
else
k++,j++;
if(k==i)
k=0;
}
if(j==len&&k==0)
{
ans=i;
break;
}
}
}
if(ans)
printf("%d\n",ans);
else
printf("%d\n",len);
if(t>0)//输出格式控制
printf("\n");
}
return 0;
}