Cod sursa(job #845920)

Utilizator RusuAlexeiRusu Alexei RusuAlexei Data 31 decembrie 2012 19:43:10
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.84 kb
program back_tracking_permutari;
  var f:text;
      n:byte;
      a:array [1..8] of byte;
      buf:array [1..100000] of byte;
procedure backtracking(k:byte);
  var i,j:byte;
      b:boolean;
  begin
    if k=n+1 then begin
                    for i:=1 to n do write(f,a[i],' ');
                    writeln(f);
                  end
             else begin
                    for i:=1 to n do
                      begin
                        b:=true;
                        for j:=1 to k-1 do if a[j]=i then b:=false;
                        if b then begin a[k]:=i; backtracking(k+1); end;
                      end;
                  end;
  end;
begin
  assign(f,'permutari.in');
  reset(f);
  readln(f,n);
  close(f);
  assign(f,'permutari.out');
  rewrite(f);
  settextbuf(f,buf);
  backtracking(1);
  close(f);
end.