исходя из условия
исходя из условия - логика выбора очередного хода коня. Будем считать, что поля для хода выбираются по часовой стрелке. Объяснение иллюстрируется следующими рисунками.
Структуры данных.
Const N= ; M= ;
Dx:array[1..8] of integer=(-2,-1,1,2,2,1,-1-2);
Dy:array[1..8] of integer=(1,2,2,1,-1,-2,-2,-1);
Var A:array[-1..N+2,-1..M+2] of integer;
Основной фрагмент реализации - процедура Solve.
procedure Solve(x,y,l:integer);
var z,i,j:integer;
begin
A[x,y]:=l;
if l=N*M then Inc(t)
else for z:=1 to 8 do begin i:=x+Dx[z];j:=y+Dy[z];
if A[i,j]=0 then Rec(i,j,l+1)
end;
A[x,y]:=0;
end;
...
for i:=-1 to N+2 do for j:=-1 to M do A[i,j]:=-1;
for i:=1 to N do for j:=1 to M do A[i,j]:=0;
t:=0;
for i:=1 to N do for j:=1 to M do Solve(i,j,1);
writeln(‘число способов обхода конем доски’,N,’*’,M,’--’,t);
....
Изменим логику так, чтобы находился только один вариант обхода конем доски. При этом маршрут коня находится с использованием
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа