У меня есть две точки (x1, y1)
& (x2, y2)
и список всех возможных позиций, которые могут быть пройдены в формате (x, y)
, как мне найти / оценить самый быстрый путь между двумя значениями.
Я реализую это на Java, но язык не имеет большого значения.
Некоторые ограничения и дополнительная информация по этому вопросу:
- Значения
x1
& x2
никогда не будут прежними, если только y1 = y2
, это непотому что эти позиции всегда расположены на ребре блока. - Не всегда может быть путь между
(x1, y1)
& (x2, y2)
(для проверки непрерывности между путями - Не все возможные точки будут подключены к
(x1, y1)
или (x2, y2)
- Кратчайший путь не требуется, но было бы удобно узнать
- Был бы рад простонекоторые подсказки о том, в каком направлении двигаться или какие алгоритмы следует изучать
- Путешествие может происходить по диагонали (
(x, y)
& (x + 1, y + 1)
считаются соседями)