Cod sursa(job #303537)

Utilizator cristinabCristina Brinza cristinab Data 9 aprilie 2009 22:54:33
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.7 kb
{generare de permutari}

var g:text;
    st:array[1..8] of byte;
    marc:array[1..8] of boolean;
    n:integer;

procedure citire;
var f:text;
begin
assign(f,'permutari.in'); reset(f);
readln(f,n);
close(f);
end;

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

procedure back(k:integer);
var i:integer;
begin

for i:=1 to n do
    begin
    st[k]:=i;
    if not marc[st[k]] then
       begin
       marc[st[k]]:=true;
       if k=n then afisare(k)
              else back(k+1);
       marc[st[k]]:=false;
       end;
    end;
end;

begin
assign(g,'permutari.out'); rewrite(g);
citire;
back(1);
close(g);
end.