AcWing 777. 字符串乘方
原题链接
困难
作者:
再泽
,
2024-01-25 19:53:36
,
所有人可见
,
阅读 44
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
while(cin>>s&&s!="."){
int max=0;
for (int i = 1; i <= s.size(); i ++ ){
string t,minstr;//minstr为一次循环的最小子串
int n=0;
for(int j=0;j<i;j++)
minstr+=s[j];//得到最小子串
while(t.size()<s.size()){
t+=minstr;//每次连接一个最小子串
//这里注意不要写成t+=t;
//举个例子:minstr=a
//第一次循环t=a
//第二次循环t=aa
//第三次循环t=aaaa(这里我们原本是想要aaa的)
n++;
}
if(t==s){
if(n>max)max=n;
}
}
cout<<max<<endl;
}
return 0;
}