Pagini recente » Cod sursa (job #802364) | Cod sursa (job #433724) | Cod sursa (job #1974417) | Cod sursa (job #2572214) | Cod sursa (job #104556)
Cod sursa(job #104556)
var fi,fo:text;
sir:string;
cuv:string[21];
solutii:array[1..10000000]of string[21];
cont,i,ct1,ct2,ct3:longint;
procedure heapsort(n:longint);
var i,j,k:longint;
aux:string[21];
begin
for i:=1 to n do
begin
j:=i;
while (j div 2<>0) and (solutii[j div 2]<solutii[j]) do
begin
aux:=solutii[j div 2];
solutii[j div 2]:=solutii[j];
solutii[j]:=aux;
j:=j div 2;
end;
end;
i:=n;
while i>1 do
begin
aux:=solutii[1];
solutii[1]:=solutii[i];
solutii[i]:=aux;
dec(i);
j:=1;
while (j>0) do
begin
k:=2*j;
if (k>i) then break;
if (k+1<=i) and (solutii[k+1]>solutii[k]) then inc(k);
if solutii[j]>=solutii[k] then break;
aux:=solutii[j];
solutii[j]:=solutii[k];
solutii[k]:=aux;
j:=k;
end;
end;
end;
begin
assign(fi,'abc2.in'); reset(fi);
assign(fo,'abc2.out'); rewrite(fo);
readln(fi,sir);
readln(fi,cuv);
ct1:=0; ct2:=length(cuv); ct3:=length(sir); cont:=0;
while ct1<ct3-3 do
begin
inc(ct1);
solutii[ct1]:=copy(sir,1,ct2);
delete(sir,1,1);
end;
heapsort(ct1);
for i:=1 to ct1 do
writeln(fo,solutii[i]);
close(fi);
close(fo);
end.