算法竞赛入门经典Uva455周期题解
后面还会再更新~~~
思想
周期一定是字符串长度的因数,所以枚举因数即可
话不多说上代码,很好看懂
#include <iostream>
using namespace std;
int n;
int main()
{
cin>>n;
while(n --)
{
string a;
cin>>a;
int flag = 1;
for(int i = 1; i <= a.size(); i++)
{
if(a.size()% i == 0)
{
string ans;
string t = a.substr(0,i);
//cout << t<<endl;
int k = a.size() / i;
while(k--) ans = ans + t;
if(ans == a || i==a.size())
{
cout<<i<<endl;
break;
}
}
}
if(n)cout<<endl;
}
return 0;
}
注意输出换行 ,我就PE 了QAQ