Cod sursa(job #623338)

Utilizator chimistuFMI Stirb Andrei chimistu Data 19 octombrie 2011 19:06:24
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.1 kb
var i,n:integer;
v:array[1..1000] of integer;
f,g:text;
function valid(q,k:integer):boolean;
begin
        valid:=true;
        for i:=1 to k-1 do
                if v[i]=q then
                        valid:=false;
end;
procedure bckt;
var  k,p:integer;
c:array[1..1000] of integer;
begin
        k:=1;
        v[k]:=0;
        while k>0 do begin
                p:=0;
                while (v[k]<n) and (p=0) do begin
                        inc(v[k]);
                        if valid(v[k],k) then
                                p:=1;end;
                if p<>0 then
                        if k=n then begin
                                for i:=1 to n do
                                        write (g,v[i],' ');writeln(g);end
                        else begin
                                k:=k+1;
                                v[k]:=0;end
                else
                        k:=k-1;
        end;


end;
begin
        assign (f,'permutari.in');assign (g,'permutari.out');
        reset(f);rewrite(g);
        read (f,n);
        bckt;
        close (g);
end.