Pagini recente » Cod sursa (job #1003794) | Cod sursa (job #911141) | Cod sursa (job #1866327) | Cod sursa (job #1046864) | Cod sursa (job #1712435)
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 (x+i-1<=length(b)) and (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.