Cod sursa(job #159709)

Utilizator TudorutzuMusoiu Tudor Tudorutzu Data 14 martie 2008 12:30:03
Problema Generare de permutari Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.83 kb
var n,i:integer;
    f,g:text;
    a,st:array[1..100] of integer;
procedure tipar(k:integer);
var i:integer;
begin
     for i:=1 to k do write(g,a[st[i]],' ');
     writeln(g);
end;
function ev(k:integer):boolean;
var i:integer;
begin
     ev:=true;
     for i:=1 to k-1 do
          if st[i]=st[k] then
          begin
               ev:=false;
               exit;
          end;
end;
procedure gen(k:integer);
var i:integer;
begin
     if k=n+1 then tipar(k-1)
              else
               for i:=1 to n do
               begin
                    st[k]:=i;
                    if ev(k) then gen(k+1);
               end;
end;
begin
     assign(f,'permutari.in'); reset(f);
     assign(g,'permutari.out'); rewrite(g);
     readln(f,n);
     for i:=1 to n do read(f,a[i]);
     gen(1);
     close(g);
end.