Pagini recente » Cod sursa (job #1132687) | Cod sursa (job #2951621) | Cod sursa (job #1782112) | Cod sursa (job #151327) | Cod sursa (job #2562220)
#include <fstream>
using namespace std;
int v[100005], n, a, t;
string s;
int main()
{
ifstream cin("prefix.in");
ofstream cout("prefix.out");
cin>>t;
for(int i=0; i<t; ++i){
a=0;
cin>>s;
//s=s+"#"+s2;
n=s.length();
for(int i=1; i<n; ++i){
int now=v[i-1];
while(now>0&&s[now]!=s[i])
now=v[now-1];
if(s[now]==s[i])
now++;
v[i]=now;
/*if(now==s2.length())
cnt++;*/
if(v[i-1]>0&&i%(i-v[i-1])==0)
a=i;
}
if(v[n-1]>0&&n%(n-v[n-1])==0)
a=n;
cout<<a<<'\n';
}
//cout<<cnt;
return 0;
}