Pagini recente » Cod sursa (job #2468422) | Cod sursa (job #1172573) | Cod sursa (job #2522112) | Cod sursa (job #2766214) | Cod sursa (job #2819368)
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.