Pagini recente » Cod sursa (job #355965) | Arhiva de probleme | Clasament simulare-cartita-01 | Cod sursa (job #1246219) | Cod sursa (job #156628)
Cod sursa(job #156628)
var x:array[1..18] of integer;
n,l:integer;
f,g:text;
procedure init(k:integer);
begin
x[k]:=0;
end;
function exista(k:integer):boolean;
begin
exista:=(x[k]<n);
end;
function cont(k:integer):boolean;
var i,s:integer;
begin
cont:=true;
for i:=1 to k-1 do
if x[i]>=x[k] then
cont:=false;
end;
function solutie(k:integer):boolean;
begin
solutie:=(k=l);
end;
procedure tipar(k:integer);
var i:integer;
begin
for i:=1 to k do
write(g,x[i],' ');
writeln(g);
end;
procedure bkt(k:integer);
begin
k:=1; init(k);
while k>0 do
if exista(k) then begin
x[k]:=x[k]+1;
if cont(k) then if solutie(k) then tipar(k)
else begin
k:=k+1;
init(k);
end;
end
else k:=k-1;
end;
{program principal}
begin
assign(f,'combinari.in');
assign(g,'combinari.out');
reset(f);
rewrite(g);
readln(f,n,l);
bkt(n);
close(f);
close(g);
end.