Cod sursa(job #165523)

Utilizator philip_dugalleHadczy-Pop Filip philip_dugalle Data 26 martie 2008 11:16:55
Problema Potrivirea sirurilor Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.92 kb
var f,g:text;
    a,b:array [1..2000001] of char;
    c:array[1..1000] of longint;
    i,j,m,n,k:longint;

procedure citire;
  begin
    assign(f,'strmatch.in');
    reset(f);
    n:=0;
    m:=0;
    while not eoln(f) do begin
      m:=m+1;
      read(f,b[m]);
    end;
    readln(f);
    while not eoln(f) do begin
      n:=n+1;
      read(f,a[n]);
    end;
    close(f);
  end;

procedure strmeci;
  begin
    i:=0;
    k:=0;
    while i<n do begin
      i:=i+1;
      j:=1;
      while (a[i]=b[j]) and (i<=n) and (j<=m) do begin
        if j=m then begin
          k:=k+1;
          c[k]:=i-m;
        end;
        j:=j+1;
        i:=i+1;
      end;
      i:=i-j+1;
    end;
  end;

procedure afisare;
  begin
    assign(g,'strmatch.out');
    rewrite(g);
    writeln(g,k);
    for i:=1 to k do write(g,c[i],' ');
    close(g);
  end;

begin
  citire;
  strmeci;
  afisare;
end.