Статья Автор: Лебедев Дмитрий

TUZ_5-10 Достижимость поля для коня в многомерных шахматах

TUZ_5-10 Достижимость поля для коня в многомерных шахматах

TUZ_5-10 Достижимость поля для коня в многомерных шахматах
5.10. Достижимость поля для коня в многомерных шахматах
Обычная шахматная доска имеет два измерения, но ее можно расширить до k измерений.
На двумерной шахматной доске конь может перемещаться на одно из восьми полей на плоской доске,
а на многомерной шахматной доске он может перемещаться в поля в других измерениях.
Цель этой задачи – определить, сможет ли конь, для которого определено количество полей,
пересекаемых в каждом направлении, достичь заданного поля на шахматной доске,
исходя из начальных и конечных координат.
Координаты представлены кортежами отрицательных или неотрицательных целых чисел.
Например, для коня, который выполняет шаги (2, 1, 7) в трех измерениях, нужно определить,
сможет ли конь прыгнуть из поля с координатами (3, 5, 9) в поле с координатами (8, 11, 13).
В табл. 5.10 показаны ожидаемые результаты для некоторых входных данных.
Таблица 5.10. Некоторые ожидаемые результаты для задачи определения достижимости поля для коня в многомерных шахматах
Knight, start, end Ожидаемый результат
(2, 1, 7), (3, 5, 9), (8, 11, 13) False
(3, 4, 2), (3, 5, 9), (1, 7, 9) False
(2, 1), (12, 10), (11, 12) True
(10, 5, 1), (20, 11, 16), (10, 12, 11) True

Алгоритм
Алгоритм вычитает каждое значение в кортеже start из каждого значения в кортеже end
и сохраняет абсолютные значения.
Для нашего примера абсолютные разности |3–8 |, |5–11 | и |9–13 | равны (5, 6, 4) соответственно.
Структура хода коня должна в точности соответствовать результатам вычитания.
Следовательно, поскольку (2, 1, 7) не совпадает с полученным результатом (5, 6, 4),
можно сделать вывод, что поле (8, 11, 13) недостижимо для коня, находящегося в поле (3, 5, 9)
и выполняющего перемещение (2, 1, 7) по каждому из измерений.
Следует отметить, что если c является результатом вычитания, то c необходимо отсортировать в порядке убывания. Напишите функцию, которая принимает структуру хода коня, начальную и конечную координаты
и возвращает True, если конь сможет прыгнуть из поля start в поле end,
в противном случае возвращает False.


Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать