Cod sursa(job #240868)

Utilizator ioalexno1Alexandru Bunget ioalexno1 Data 8 ianuarie 2009 20:33:58
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.15 kb
program alex;
var st,v:array[1..100]of integer;
    f:text;
    j,i,n:integer;
    as,ev:boolean;
begin
assign(f,'permutari.in');reset(f);
readln(f,n);
close(f);
j:=1;
st[j]:=0;
assign(f,'permutari.out');rewrite(f);
while j>0 do
      begin
      repeat
      if st[j]<n then begin
                      st[j]:=st[j]+1;
                      as:=true;
                      end
                 else as:=false;
      if as then begin
                 ev:=true;
                 if v[st[j]]=1 then ev:=false
                               else v[st[j]]:=1;
                 end;
      until(not as)or (as and ev);
      if as then if j=n then begin
                             v[st[j]]:=0;
                             for i:=1 to j do
                                 write(f,st[i],' ');
                             writeln(f);
                             end
                        else begin
                             j:=j+1;
                             st[j]:=0;
                             end
             else begin
                  j:=j-1;
                  v[st[j]]:=0;
                  end;
      end;
close(f);
end.