Мистер Фокс разрабатывает новую компьютерную игру со последующим сюжетом. Есть прямоугольник
Мистер Фокс разрабатывает новейшую компьютерную игру со последующим сюжетом. Есть прямоугольник 79, в левом верхнем углу которого стоит шахматный жеребец. Игрок обязан ввести естественное число N, после чего в одной из клеток прямоугольника появляется клад. Потом игрок должен провести коня (конь прогуливается по шахматным правилам буковкой Г) из левого верхнего угла в клеточку с кладом, сделав не более N ходов. Если ему это удалось, то он выиграл. При этом число N игроку превосходнее назвать гораздо меньше, так как на него тратятся игровые призы.
Сейчас Мистер Фокс задумался над тем, а каким же может быть самое малюсенькое число N для данного прямоугольника, при котором игрок сумеет выиграть. Помогите Мистеру Фоксу.
В качестве ответа выведите одно естественное число.
Программа на паскале:
const
m = 7;
n = 9;
p = 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..m, 1..n] of integer;
x,y: array [1..p] of integer;
i,j,l: integer;
t: boolean;
begin
for i := 1 to p do
begin
x[i] := -1;
y[i] := -1;
end;
for i := 1 to m do
for j := 1 to n do
a[i,j] := -1;
a[1,1] := 0;
x[1] := 1;
y[1] := 1;
l := 1;
for i := 1 to p do
if x[i] lt;gt; - 1 then
for j := 1 to 8 do
if (x[i] + dx[j] gt; 0) and (x[i] + dx[j] lt;= m) then
if (y[i] + dy[j] gt; 0) and (y[i] + dy[j] lt;= n) then
if a[ x[i] + dx[j], y[i] + dy[j] ] = -1 then
begin
l := l + 1;
x[l] := x[i] + dx[j];
y[l] := y[i] + dy[j];
a[ x[l], y[l] ] := a[ x[i], y[i] ] + 1;
end;
for i := 1 to p do if x[i] lt;gt; -1 then
writeln(i:2,' - ',x[i],':',y[i],' - ',a[ x[i], y[i] ],' ');
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.