Карта приоритета clojure как застегнуть

Поэтому я делаю поиск A* по восьмерке, и мне нужно найти соседей по пустому тайлу и поместить их в карту приоритетов, например, с ценой на Манхэттен, если у меня есть.

(3 2 1 0 4 5 6 7 8)

which would look like [3 2 1]
                      [0 4 5]
                      [6 7 8]

пустые соседи 0 плиток были бы (: вверх: влево: вниз) проблема в том, что я не знаю, как сделать карту приоритетов с соседями и стоимостью Манхэттена в качестве ключа. Я попытался использовать zipmap, но, похоже, он не работал, хотя я мог ошибаться.

В конце я хотел бы получить его в таком виде: (priority-map: up глобальная стоимость Manahtten, если переместил 3 вниз: down и т.д....

1 ответ

Напишите функцию для manhatten-cost и используйте priority-map-by

Другие вопросы по тегам