Cod sursa(job #289896)

Utilizator b_ady20Branescu Adrian b_ady20 Data 27 martie 2009 09:41:51
Problema Generare de permutari Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.69 kb
var   v:array[1..1000] of int64;
        n,aux,i,j:longint;
begin
assign (input,'permutari.in');
reset (input);
read (input,n);
close (input);
assign (output,'permutari.out');
rewrite (output);
for i:=1 to n do begin
v[i]:=i;
write (output,v[i],' ');
end;
writeln (output);
repeat
i:=n-1;
while (i>0) and (v[i]>v[i+1]) do
dec(i);
if i>0 then
begin
for j:=n downto i+1 do
if v[j]>v[i] then
break;
v[i]:=v[i]+v[j];
v[j]:=v[i]-v[j];
v[i]:=v[i]-v[j];
inc (j);
aux:=n;
while j<aux do begin
v[aux]:=v[aux]+v[j];
v[j]:=v[aux]-v[j];
v[aux]:=v[aux]-v[j];
inc(j);
dec(aux);
end;
for j:=1 to n do
write(output,v[j],' ');
writeln(output);
end;
until i=0;
close(output);
end.