Элементарно, Ватсон.
Я вообще то полагал что привёл исчерпывающий ответ выше, на английском.
Но если тебе не ясны элементарные начальные выкладки, которые были опущены для краткости, то попробую нарисовать.
НАПОМИНАЮ что пространство УО дискретно, то есть нет дробных расстояний и нет смысла мучать формулы из эвклидова пространства.
Code:
XXXXXXB обозначен кратчайший путь из A в B
XXXXX*X (их много но все одной и той же длины)
XXXX*XX X-клетка *-точка пути о-точка пути и поворота
A**oXXX
элементарные вычисления на пальцах показывают что длина оптимального (кратчайшего) пути всегда Max(DX,DY)
так как в ультиме поворот тоже шаг, то для совсем умных скриптов можно добавлять и его как дополнительній шаг, о чём я ТОЖЕ писал выше.
можно считать очередное заседание клуба любителей линейной алгебры закрытым?