Pagini recente » Cod sursa (job #952668) | Cod sursa (job #1672274) | Cod sursa (job #1624149) | Cod sursa (job #3250524) | Cod sursa (job #179139)
Cod sursa(job #179139)
var v:array[1..1000100]of char;
pi:array[0..1000100]of longint;
n,i,j,l,m,k,r:longint;
f1,f2:text;
begin
assign(f1,'prefix.in');
reset(f1);
readln(f1,m);
assign(f2,'prefix.out');
rewrite(f2);
for l:=1 to m do
begin
r:=0;
n:=0;
{ while not eoln(f1)do
begin
n:=n+1;
read(f1,v[n]);
end; }
fillchar(v,sizeof(v),' ');
readln(f1,v);
pi[1]:=0;
k:=0;
i:=1;
{for i:=2 to n do }
while(v[i+1]<>' ')do
begin
i:=i+1;
while(k>0)and(v[k+1]<>v[i])do
k:=pi[k];
if v[k+1]=v[i] then inc(k);
pi[i]:=k;
if(i mod(i-pi[i])=0)and(pi[i]>0)then r:=i;
end;
writeln(f2,r);
end;
close(f1);
close(f2);
end.