Pagini recente » Cod sursa (job #3269197) | Cod sursa (job #387366) | Cod sursa (job #2716835) | Cod sursa (job #2894130) | Cod sursa (job #154019)
Cod sursa(job #154019)
var f,g:text;
n,k:byte;
sol:array[0..18]of byte;
procedure init(vf:byte);
begin
sol[vf]:=sol[vf-1]+1;
end;
function succ(vf:byte):boolean;
begin
if sol[vf]<n then
begin
inc(sol[vf]);
succ:=true;
end else
succ:=false;
end;
function valid(vf:byte):boolean;
var i:byte;
begin
valid:=true;
for i:=1 to vf-1 do
if (sol[i]=sol[vf])or(sol[i]>sol[vf]) then valid:=false;
end;
function ok(vf:byte):boolean;
begin
if vf=k+1 then ok:=true
else ok:=false;
end;
procedure tipar;
var i:byte;
begin
for i:=1 to k do
write(g,sol[i],' ');
writeln(g);
end;
procedure perm(vf:byte);
begin
if ok(vf) then tipar
else
begin
init(vf);
while succ(vf) do
if valid(vf) then perm(vf+1);
end;
end;
begin
assign(f,'combinari.in');
assign(g,'combinari.out');
reset(f);
rewrite(g);
read(f,n,k);
sol[0]:=0;
perm(1);
close(f);
close(g);
end.