Pagini recente » Cod sursa (job #1276502) | Cod sursa (job #859844) | Cod sursa (job #459813) | Cod sursa (job #1184868) | Cod sursa (job #1600029)
var v:array[1..8] of byte;
n:byte;
function valid(k:byte):boolean;
var i:byte;
begin
for i:=1 to k-1 do
if v[i]=v[k] then begin valid:=false; break end
else valid:=true;
end;
function solutie(k:byte):boolean;
begin
if k=n then solutie:=true
else solutie:=false;
end;
procedure afisare(k:byte);
var i:byte;
begin
for i:=1 to k do write(output,v[i],' ');
writeln(output);
end;
procedure backtrack(k:byte);
var i:byte;
begin
for i:=1 to n do
begin
v[k]:=i;
if valid(k)=true then
begin
if solutie(k)=true then afisare(k)
else backtrack(k+1);
end;
end;
end;
Begin
assign(input,'permutari.in');
assign(output,'permutari.out');
readln(input,n);
backtrack(1);
close(input);
close(output);
end.