chaper3_exerise_UVa455_周期串

 #include<iostream>
#include<cstring>
#include<stdio.h>
using namespace std;
const int maxn = ; int equ(const char *a,int beg,int beh) //总是与首字符形成的串相比,beh为后一个的序列
{
int n = strlen(a), i;
for (i = ; i < n; i++)
{
if (a[i] != a[(beh+i)%n])
return ;
}
return beh; }
int main(void)
{
int T;
char a[maxn];
cin >> T;
while (T--)
{
int count = ;
cin >> a;
int ans = ;
for (int i = ; i < strlen(a); i++)
{
if (equ(a,,i)) { //后面开始形成的串如果和首字符形成的(环形)串相同,即后面的(位置)为周期
count = equ(a,,i);
break;
}
}
if (count)
cout << count << endl;
else
cout << strlen(a) << endl; //如果没有,即输入的字符长度为周期
if (T > ) //不要多输出换行
cout << endl;
}
return ;
}
上一篇:定时器Timer


下一篇:UIWebView 与 JS 交互(1):Objective-C 调用 Javascript