Pagini recente » Cod sursa (job #2878058) | Cod sursa (job #3040361) | Cod sursa (job #1090732) | Cod sursa (job #2070878) | Cod sursa (job #1495695)
#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;
scanf("%s",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;
}