Cod sursa(job #423486)

Utilizator dutzu93Vlad Vedinas dutzu93 Data 23 martie 2010 22:26:47
Problema Combinari Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.14 kb
type
    vect=array[1..50] of integer;
var
    a:vect;
    n,k:integer;
    f:text;
    g:text;

procedure init;
    var
        i:integer;
    begin
        assign(f,'combinari.in');
        reset(f);
        readln(f,n,k);
        for i:=1 to n do
            a[i]:=0;
        close(f);
    end;

procedure tipar(p:integer);
    var
        i:integer;
    begin
        for i:=1 to p do
            write(g,a[i]:4);
        writeln(g);
    end;

function valid(p:integer):boolean;
    var
        i:integer;
        posibil:boolean;
    begin
        posibil:=true;
        for i:=1 to p-1 do
            if a[i]>=a[p] then
                posibil:=false;
        valid:=posibil;
    end;

procedure back(p:integer);
    var
        val:integer;
    begin
        for val:=1 to n do
            begin
                a[p]:=val;
                if valid(p) then
                    if p=k then
                        tipar(p)
                    else
                        back(p+1);
            end;
    end;

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