Cod sursa(job #561166)

Utilizator punkistBarbulescu Dan punkist Data 18 martie 2011 22:38:46
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.77 kb
var n:longint;
    perm:array[1..100] of byte;
    fol:array[1..100] of boolean;
    f,f2:text;

procedure Initializeaza;
var i:integer;
begin
for i:=1 to n do
 begin
  fol[i]:=false;
 end;
end;

procedure Citeste;
begin
assign(f,'permutari.in');
assign(f2,'permutari.out');
reset(f);
readln(f,n);
close(f);
end;

procedure Back(niv:byte);
var i:byte;
begin

 if niv <= n then
  begin

   for i:=1 to n do
    begin
     if not fol[i] then
      begin
       fol[i] := true;
       perm[niv] := i;
       Back(niv+1);
       fol[i] := false;
      end;
    end;

  end
 else
  begin
   for i:=1 to n do
    begin
     write(f2,perm[i],' ');
    end;
   writeln(f2);
  end;

end;

begin
Citeste;
rewrite(f2);
Back(1);
close(f2);
end.