Cod sursa(job #209826)

Utilizator FllorynMitu Florin Danut Flloryn Data 24 septembrie 2008 23:24:28
Problema Potrivirea sirurilor Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.82 kb
program pascal;
var f,g:text;
    i,j,k,s,m,n:0..2000000;
    a,b:array[1..2000000] of char;
    d:array[1..1000] of 0..1999999;
    ok:boolean;
begin
assign(f,'strmatch.in'); reset(f);
assign(g,'strmatch.out'); rewrite(g);
n:=1;
m:=1;
readln(f,a);
while (ord(a[n])<>0) do n:=n+1;
read(f,b);
while (ord(b[m])<>0) do m:=m+1;
n:=n-1;
m:=m-1;
s:=0;
if n>m then write(g,0)
else
begin
  for i:=1 to m-n+1 do
  begin
   ok:=true;
   k:=i;
   for j:=1 to n do
    if b[k]<>a[j] then
           begin
            ok:=false;
            break;
           end
            else k:=k+1;
   if ok then
        begin
          inc(s);
          if s<=1000 then d[s]:=i-1;
        end
   end;

 writeln(g,s);
 if s>1000 then s:=1000;
     for i:=1 to s do write(g,d[i],' ');
end;
close(f);
close(g);
end.