Pagini recente » Cod sursa (job #1467810) | Cod sursa (job #1914479) | Cod sursa (job #360669) | Cod sursa (job #1950025) | Cod sursa (job #1600137)
var v:array[1..8] of byte;
n:byte;
function valid(k:byte):boolean;
var i:byte;
begin
valid:=true;
for i:=1 to k-1 do
if v[i]=v[k] then valid:=false;
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);
backtrack(k+1);
end;
end;
end;
Begin
assign(input,'permutari.in'); reset(input);
assign(output,'permutari.out'); rewrite(output);
readln(input,n);
backtrack(1);
close(input);
close(output);
end.