Pagini recente » Cod sursa (job #1570509) | Cod sursa (job #732768) | Cod sursa (job #2127354) | Cod sursa (job #24146) | Cod sursa (job #1622080)
uses dos;
var n,k,nrSol:longint;
v:array[1..14] of integer;
function valid(k:integer):boolean;
var i,j:integer;
begin
valid:=true;
for i:=1 to k-1 do
if (v[i]=v[k]) or (k-i=abs(v[k]-v[i])) then valid:=false;
end;
function solutie(k:integer):boolean;
begin
solutie:=true;
if k<>n then solutie:=false;
if solutie=true then inc(NrSol);
end;
procedure afisare(k:integer);
var i:integer;
begin
for i:=1 to k do write(output,v[i],' ');
writeln;
end;
procedure back(k:integer);
var i:integer;
begin
for i:=1 to n do
begin
v[k]:=i;
if (valid(k)) then
begin
if (solutie(k)) and (nrSol=1) then afisare(k)
else
back(k+1);
end;
end;
end;
Begin
// assign(input,'damesah.in'); reset(input);
// assign(output,'damesah.out'); rewrite(output);
nrSol:=0;
readln(input,n);
back(1);
writeln(output,nrSol);
// close(input);
// close(output);
end.