Cod sursa(job #726284)

Utilizator acs_davidAcs David acs_david Data 27 martie 2012 09:47:00
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.93 kb
type tomb=array[1..9] of integer;
var n:byte;v:tomb;f,g:text;
procedure kiir(k:integer);
var i:byte;
begin
        for i:=1 to k do
                write(g,v[i],' ');
        writeln(g);
end;
function ellenoriz(k:byte):boolean;
var i:integer;
begin
        ellenoriz:=true;
        for i:=1 to k-1 do
        begin
                if v[k]=v[i] then begin
                        ellenoriz:=false; Exit
                end
        end;
end;
procedure backtrack(k:byte);
begin
        if k=n+1 then
                kiir(n)
        else begin
                v[k]:=0;
                while v[k]<n do begin
                        inc(v[k]);
                        if ellenoriz(k) then
                                backtrack(k+1);
                end;
        end
end;
BEGIN
        assign(f,'permutari.in');assign(g,'permutari.out');reset(f);read(f,n);close(f);
        rewrite(g);backtrack(1);close(g);
end.