Оригинальное решение Практика «Оптимальный маршрут» Ulearn.me
Однажды после очередного путешествия по лабиринту Жадина вдруг осознал, что его жадная стратегия не всегда позволяет собрать наибольшее возможное количество сундуков.
От этого счастье куда-то улетучилось!
Помогите Жадине собрать максимум сундуков при заданном ограничении сил. Без перебора порядка посещения сундуков тут не обойтись. На больших лабиринтах перебор, конечно, не справится, но на маленьких может сработать лучше, чем жадная стратегия.
Реализуйте метод FindPathToCompleteGoal в классе NotGreedyPathFinder так, чтобы тесты в классе NotGreedyPathFinder_Should завершались успешно.
Используйте класс DijkstraPathFinder, реализованный в предыдущих задачах.