Cod sursa(job #341153)

Utilizator ionutz32Ilie Ionut ionutz32 Data 17 august 2009 17:20:14
Problema Prefix Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.62 kb
var s:array[1..1000000] of char;
pi:array[1..1000000] of longint;
t,contor,a,b,k,i,m:longint;
f,g:text;
begin
assign(f,'prefix.in');
assign(g,'prefix.out');
reset(f);rewrite(g);
readln(f,t);
for contor:=1 to t do
    begin
    readln(f,s);
    pi[1]:=0;
    k:=0;a:=0;
    i:=2;
    while s[i]<>#0 do
          begin
          while (k>0) and (s[k+1]<>s[i]) do
                k:=pi[k];
          if s[k+1]=s[i] then
             k:=k+1;
          pi[i]:=k;
          if (k>0) and (i mod (i-k)=0) then
             a:=i;
          i:=i+1;
          end;
    writeln(g,a);
    end;
close(f);close(g);
end.