Cod sursa(job #558300)

Utilizator aliveLechintan Adrian alive Data 17 martie 2011 10:46:44
Problema Combinari Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
program combinari;
var
 v:array[1..50] of integer;
 n,k,p:integer;
 f,g:text;

procedure tipar(x:integer);
var i:integer;
begin
 for i:=1 to x do
  write(g,v[i],' ');
 writeln(g);
end;

function valid(x:integer):boolean;
var i:integer;
begin
 valid:=true;
 for i:=1 to x-1 do
 begin
  if (v[i]>v[i+1]) or (v[i]=v[x]) then valid:=false;
 end;
end;

begin
 assign(f,'combinari.in');
 assign(g,'combinari.out');
 reset(f); readln(f,n,k);
 close(f); rewrite(g);

 p:=1;
 while p>0 do
 begin
  v[p]:=v[p]+1;
  if valid(p) then
  if v[p]>n then begin
                 v[p]:=0;
                 p:=p-1;
                 end
  else if p<k then p:=p+1
  else if p=k then tipar(p);
 end;
 close(g);
end.