Cod sursa(job #288643)

Utilizator cristinabCristina Brinza cristinab Data 25 martie 2009 23:08:31
Problema Combinari Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
{combinari}

var n,p:byte;
    st:array[1..18] of byte;
    f,g:text;

procedure citire;
begin
assign(f,'combinari.in'); reset(f);
readln(f,n,p);
close(f);
end;

function valid(k:integer):boolean;
var i:byte;
begin
valid:=true;
for i:=1 to k-1 do
    if (st[i]=st[k]) or (st[i]>st[k]) then
       begin
       valid:=false;
       exit;
       end;
end;

procedure afisare(k:integer);
var i:byte;
begin
for i:=1 to k do write(g,st[i],' ');
writeln(g);
end;

procedure back(k:integer);
var i:byte;
begin
for i:=1 to n do
    begin
    st[k]:=i;
    if valid(k) then
       if k=p then afisare(k)
              else back(k+1);
    end;
end;

begin
assign(g,'combinari.out'); rewrite(g);
citire;
back(1);
close(g);
end.