Cod sursa(job #209827)

Utilizator FllorynMitu Florin Danut Flloryn Data 24 septembrie 2008 23:46:23
Problema Potrivirea sirurilor Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 1.04 kb
program pascal;
var f,g:text;
    i,j,s,m,n,k:0..2000001;
    a,b:array[1..2000000] of char;
    d:array[1..2000000] of 0..2000000;
    ok:boolean;

    procedure citire;
    begin
       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;
    end;

    procedure test;
    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]) and (k<=m) then
           begin
            ok:=false;
            break;
           end
            else k:=k+1;
   if ok then
        begin
          inc(s);
          d[s]:=i-1;
        end
   end;
    end;


begin
assign(f,'strmatch.in'); reset(f);
assign(g,'strmatch.out'); rewrite(g);
citire;
s:=0;
  if n>m then write(g,0)
         else
         begin
          test;
          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.