Cod sursa(job #301846)

Utilizator krissu93FMI Tiugan Cristiana Elena krissu93 Data 8 aprilie 2009 14:46:14
Problema Generare de permutari Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 1.08 kb
type vector=array[1..100] of integer;
var a,v:vector;
    g:boolean;
    n,x:integer;
    p:text;
procedure citire;
var f:array[-100..100] of boolean;
begin
assign(p,'permutari.in');
reset(p);
fillchar(f,sizeof(f),false);
n:=0;
while not seekeof(p) do
  begin
        read(p,x);
        if not f[x] then begin inc(n);
                               v[n]:=x;
                               f[x]:=true;
                          end;
  end;
close(p);
end;
PROCEDURE generare(k:integer);
var x,i:integer;
begin
     if k=n+1 then begin for i:=1 to n do write(p,v[a[i]]);
                         writeln(p);
                   end
               else
    for x:=1 to n do
     begin g:=false;
          for i:=1 to k-1 do
             if a[i]=x then  begin g:=true;
                                   break;
                             end;
             if not g then begin a[k]:=x;
                                 generare(k+1);
                           end;
      end;
end;
begin
citire;
assign(p,'permutari.out');
rewrite(p);
generare(1);
close(p);
end.