Cod sursa(job #260480)

Utilizator skullLepadat Mihai-Alexandru skull Data 17 februarie 2009 09:15:59
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.89 kb
type stiva=array [1..8] of byte;

var st:stiva;
    n:byte;
    f,g:text;

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

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

procedure back(k:byte);
var i:byte;
          begin
          if k>n then
             tipar(st,k-1)
             else
             for i:=1 to n do
                 if valid(k,i) then
                    begin
                    st[k]:=i;
                    back(k+1);
                    end;
          end;

begin
assign(f,'permutari.in');
reset(f);
assign(g,'permutari.out');
rewrite(g);
readln(f,n);
back(1);
close(f);
close(g);
end.