Cod sursa(job #400900)

Utilizator radupoenaruPoenaru Radu Constantin radupoenaru Data 22 februarie 2010 09:56:43
Problema Combinari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.02 kb
type stiva=array[1..20] of integer;
var st:stiva;
    as,ev:boolean;
    f:text;
    n,p,k:integer;
procedure init(var st:stiva; k:integer);
begin
st[k]:=st[k-1];
end;
procedure succesor(var st:stiva; k:integer; var as:boolean);
begin
if st[k]<n then begin
                st[k]:=st[k]+1;
                as:=true;
                end
           else as:=false;
end;
function solutie(k:integer):boolean;
begin
solutie:=(k=p);
end;
procedure tipar;
var i:integer;
begin
for i:=1 to p do write(f,st[i],' ');
writeln(f);
end;
begin
assign(f,'combinari.in');reset(f);
read(f,n,p);
close(f);
st[1]:=0;
k:=1;
assign(f,'combinari.out');rewrite(f);
while k>0 do begin
             succesor(st,k,as);
             if as then if solutie(k) then tipar
                                     else begin
                                          k:=k+1;
                                          init(st,k);
                                          end
                   else dec(k);
             end;
close(f);
end.