Pagini recente » Cod sursa (job #369312) | Cod sursa (job #1295722) | Cod sursa (job #726318) | Cod sursa (job #569321) | Cod sursa (job #47643)
Cod sursa(job #47643)
const maxn = 1000001;
var fi,fo:text;
m,n,i,j,k,q,sol:longint;
c:array[1..maxn]of char;
pi:array[1..maxn]of longint;
procedure writedata;
begin
writeln(fo,sol);
end;
procedure solve;
begin
pi[1]:=0;
k:=0;
sol:=0;
for q:=2 to j do
begin
while (k>0) and (c[k+1]<>c[q]) do k:=pi[k];
if c[k+1]=c[q] then k:=k+1;
pi[q]:=k;
if pi[q]>0 then
begin
if (q>sol) and (q mod (q-pi[q])=0) then
begin
sol:=q;
end;
end;
end;
end;
procedure readdata;
begin
assign(fi,'prefix.in');
reset(fi);
assign(fo,'prefix.out');
rewrite(fo);
readln(fi,m);
for i:=1 to m do
begin
j:=0;
while not eoln(fi) do
begin
inc(j);
read(fi,c[j]);
end;
readln(fi);
solve;
writedata;
end;
close(fo);
close(fi);
end;
begin
readdata;
end.