Pagini recente » Cod sursa (job #1405734) | Cod sursa (job #1165672) | Cod sursa (job #1451163) | Cod sursa (job #824159) | Cod sursa (job #1495696)
#include<stdio.h>
#include<string.h>
#define N 1000000
char a[N+1];
int pi[N+1];
int main()
{
freopen("prefix.in","r",stdin);
freopen("prefix.out","w",stdout);
int t;
scanf("%d",&t);
while(t){
int k=0;
gets(a+1);
int n=strlen(a+1);
int i;
for(i=2;i<=n;i++){
while(k!=0&&a[i]!=a[k+1])
k=pi[k];
if(a[i]==a[k+1])
k++;
pi[i]=k;
}
i=n;
while(i!=0&&(pi[i]==0||i%(i-pi[i])!=0))
i--;
printf("%d\n",i);
t--;
}
return 0;
}