Pagini recente » Cod sursa (job #1391456) | Cod sursa (job #2406132) | Cod sursa (job #752205) | Cod sursa (job #3192090) | Cod sursa (job #190538)
Cod sursa(job #190538)
var n,p,i,m:integer;
sol:array[1..100]of integer;
procedure init(k:integer);
begin
sol[k]:=0;
end;
function succesor(k:integer):boolean;
begin
if (sol[k]<n) then begin
sol[k]:=sol[k]+1;
succesor:=true;
end
else succesor:=false;
end;
function valid(k:integer):boolean;
var i:integer;
begin
valid:=true;
for i:=1 to k-1 do
if (sol[i]=sol[k])or(sol[i]>sol[k]) then valid:=false;
end;
function solutie(k:integer):boolean;
begin
solutie:=(k=m+1);
end;
procedure tipar;
var i:integer;
begin
for i:=1 to m do write(sol[i],' ');
writeln;
end;
procedure back(k:integer);
begin
if solutie(k) then tipar
else begin
init(k);
while succesor(k) do
if valid(k) then back(k+1);
end;
end;
begin
assign(input,'combinari.in'); reset(input);
assign(output,'combinari.out'); rewrite(output);
readln(n,m);
back(1);
close(input); close(output);
end.