Cod sursa(job #159705)

Utilizator TudorutzuMusoiu Tudor Tudorutzu Data 14 martie 2008 12:27:26
Problema Generare de permutari Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.78 kb
var n,nr,i:integer;
    a,st:array[1..100] of integer;
procedure tipar(k:integer);
var i:integer;
begin
     for i:=1 to k do write(a[st[i]],' ');
     inc(nr);
     writeln;
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
     readln(n);  nr:=0;
     for i:=1 to n do read(a[i]);
     writeln;
     gen(1);
     writeln('si numarul este ',nr);
end.