Pagini recente » Cod sursa (job #2026489) | Cod sursa (job #1278470) | Solutii preONI 2007, Runda 3 | Cod sursa (job #470966) | Cod sursa (job #640470)
Cod sursa(job #640470)
var f,g:text;
n,i,p,k:integer;
a:array[1..18] of integer;
function valid(x:integer):boolean;
var i:integer;
begin
valid:=true;
for i:=1 to x-1 do
if a[i]=a[x] then valid:=false;
if valid=true then
for i:=1 to x-1 do
if a[i]>a[i+1] then valid:=false;
end;
procedure tipar(x:integer);
var i:integer;
begin
for i:=1 to x do
write(g,a[i],' ');
writeln(g);
end;
begin
assign(f,'combinari.in'); reset(f); assign(g,'combinari.out'); rewrite(g);
read(f,n,k);
p:=1;
while p>0 do
begin
if a[p]<n then begin a[p]:=a[p]+1;
if valid(p) then if p=k then tipar(k)
else if p<k then p:=p+1
else p:=p-1;end
else begin a[p]:=0; p:=p-1; end;
if a[1]>n-k+1 then p:=0;
end;
close(f); close(g);
end.