В настоящее время я работаю над вопросом о назначении, который вычисляет стоимость перемещения для робота (позиция x, y).
Нам даны размеры двумерной сетки (двумерный массив) с несколькими препятствиями (символ ##
). Ниже приведен пример сетки. Нам также дали стартовую позицию робота. На текущей позиции «стоимость» составляет 00
(стационарная).
..................................................
........................................##........
........................................##........
........................................##........
..........######################################..
........................................##........
........................................##........
........................................##........
....################..........00........##........
....################....................##........
....################....................##........
....################....................##........
........................................##........
..................................................
..................................................
В задании требуется вычислить стоимость каждой неизвестной сетки (..
), чтобы она показывала стоимость, которую должен сделать робот, чтобы добраться до этой позиции.
Горизонтальные перемещения +2 к стоимости предыдущей сетки.
Диагональные перемещения +3 к стоимости предыдущей сетки.
Робот не может пересечь и препятствие и должен объехать его.
Каждое значение должно иметь минимальную стоимость (например: меньшая стоимость перемещения по диагонали, чем по горизонтали и вертикали).
Ниже приведен результат, который должен быть у нас (отображаются только две последние цифры стоимости с некоторыми опущенными значениями, чтобы он был более читабельным):
http://i.stack.imgur.com/JiDl1.png
Прямо сейчас у меня проблемы с визуализацией / решением проблемы. Нам сказали, что это «морально как алгоритм сортировки пузырьков», когда каждый раз, когда обнаруживается новая минимальная стоимость, все пересчитывается.
Извините, если это ужасно запутанно, любые предложения (код или псевдокод будут приветствоваться)