Pagini recente » Cod sursa (job #181601) | Cod sursa (job #3277045) | Cod sursa (job #671425) | Cod sursa (job #2565980) | Cod sursa (job #730446)
Cod sursa(job #730446)
type tomb=array[1..100] of integer;
var v:array[1..100] of integer;k,jo,n,van,p:integer;f,g:text;
procedure kovetkezo(k:integer;var van:integer);
begin
van:=0;
if v[k]<n then
begin
v[k]:=v[k]+1;
van:=1;
end;
end;
procedure ellenoriz(k:integer;var jo:integer);
var i:integer;
begin
jo:=1;
i:=1;
while(k<>i) and (jo=1) do
begin
if v[i]>=v[k] then
jo:=0;
i:=i+1;
end;
end;
function megoldas(k:integer):integer;
var a:integer;
begin
a:=0;
if k=p then
a:=1;
megoldas:=a;
end;
procedure kiir(k:integer;v:tomb);
var i:integer;
begin
writeln;
for i:=1 to k do
write(g,v[i],' ');
end;
begin
assign(f,'combinari.in');assign(g,'combinari.out');reset(f);read(f,n,p);k:=1;v[k]:=0;close(f);
rewrite(g);
while k>0 do
begin
repeat
kovetkezo(k,van);
if van=1 then
ellenoriz(k,jo);
until ((van=1) and (jo=1)) or (van=0);
if van=0 then
k:=k-1
else
if megoldas(k)=1 then
kiir(k,v)
else
begin
k:=k+1;
v[k]:=0;
end;
end;
close(g);
end.