Pagini recente » Cod sursa (job #1780125) | Cod sursa (job #2843136) | Cod sursa (job #3242051) | Cod sursa (job #2394085) | Cod sursa (job #264988)
Cod sursa(job #264988)
var f,g:text;
n,k:byte;
sol:array[1..20]of byte;
procedure init(vf:byte);
begin
sol[vf]:=0;
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 comb(vf:byte);
begin
if ok(vf) then tipar
else
begin
init(vf);
while succ(vf) do
if valid(vf) then comb(vf+1);
end;
end;
begin
assign(f,'combinari.in');
assign(g,'combinari.out');
reset(f);
rewrite(g);
read(f,n,k);
comb(1);
close(f);
close(g);
end.