Cod sursa(job #2819368)

Utilizator nolokDragomir Andrei Theodor Paul nolok Data 18 decembrie 2021 11:45:31
Problema Potrivirea sirurilor Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.84 kb
PROGRAM StrMatch;
{$Mode ObjFpc}{$H+}

VAR
  Fin, Fout: TextFile;
  Sa, Sb: AnsiString;
  Cnt: PtrUInt;
  I, J, K: PtrUInt;
  ArPos: Array [0..2000002] Of PtrUInt;
  ArPosHi: PtrUInt;

PROCEDURE Task;
begin
  Cnt := 0;
  J := 0;
  repeat
    I := Pos(Sa, Sb);
    if I <> 0 then begin
      Cnt += 1;
      ArPosHi += 1;
      ArPos[ArPosHi] := I + J - 1;
      //Delete(Sb, 1, I + J);
      Delete(Sb, 1, I);
      writeln(sb);
      J += I;
    end;
  until I = 0;

  Writeln(Fout, Cnt);

  if ArPosHi > 0 then begin
    Write(Fout, ArPos[1]);
    for I := 2 to ArPosHi do begin
      Write(Fout, ' ', ArPos[i]);
    end;
  end else
    Exit;
end;

BEGIN
  AssignFile(Fin, 'strmatch.in');
  AssignFile(Fout, 'strmatch.out');
  Reset(Fin);
  Rewrite(Fout);

  Readln(Fin, Sa);
  Readln(Fin, Sb);
  ArPosHi := 0;
  Task;

  CloseFile(Fin);
  CloseFile(Fout);
END.