Pagini recente » Cod sursa (job #1722546) | Cod sursa (job #67643) | Cod sursa (job #1181716) | Cod sursa (job #2246348) | Cod sursa (job #1712432)
var a,b:string;
x:array [1..2000000] of integer;
i,q:integer;
procedure lire;
begin
assign(input,'strmatch.in');
reset(input);
readln(a);
readln(b);
close(input);
end;
procedure ecrire;
var i:integer;
begin
assign(output,'strmatch.out');
rewrite(output);
writeln(q);
if q>1000 then q:=1000;
for i:=1 to q do
write(x[i]-1,' ');
close(output);
end;
function verifica(x:integer):boolean;
var i:integer; q:boolean;
begin
q:=true;
i:=2;
while i<=length(a) do
begin
if a[i]<>b[x+i-1] then begin q:=false; break; end;
i:=i+1;
end;
verifica:=q;
end;
begin
lire;
q:=0;
for i:=1 to length(b) do
if (i-1+length(a)<length(b)) and (a[1]=b[i]) and (a[length(a)]=b[i-1+length(a)]) and verifica(i) then begin q:=q+1; x[q]:=i; end;
ecrire;
end.