Pagini recente » Diferente pentru problema/tort2 intre reviziile 17 si 10 | Diferente pentru problema/turism2 intre reviziile 7 si 1 | Diferente pentru utilizator/gapdan intre reviziile 5 si 6 | Unique | Cod sursa (job #1036124)
var a:array[1..20] of integer;
n:integer;
f,g:text;
function test(x,y:integer):integer;
var i:integer;
begin
test:=0;
for i:=1 to y do if a[i]=x then test:=1;
end;
function inser(poz,p:integer):integer;
var i:integer;
begin
a[poz]:=p;
if poz=n then begin
for i:=1 to n do write(g,a[i],' ');
writeln(g);
end
else for i:=1 to n do
if test(i,poz)=0 then inser(poz+1,i);
end;
function backtrack:integer;
var i:integer;
begin
for i:=1 to n do inser(1,i);
end;
begin
assign(f,'permutari.in');reset(f);
readln(f,n);
close(f);
assign(g,'permutari.out');rewrite(g);
backtrack;
close(g);
end.