Требуется написать алгоритм генерации лабиринта размером 10x10 и реализовать интерфейс прохождения кратчайшего пути между двумя точками. Обозначения: "# - стена . - дорога @ - начало маршрута X - конец маршрута"
public interface Navigator {
char[][] searchRoute(char[][] map);
}
Если маршрут проложить невозможно, метод searchRoute должен возвращать null. Пример: ввод:
...@. или ..X..
.#### #####
..... .....
####. .@...
.X... .....
вывод:
+++@. или null
+####
+++++
####+
.X+++
Понимаю, что тема не новая, но подходящих решений в интернете я так и не нашел. Сложные алгоритмы генерации лабиринтов не совсем подходят, т.к. они предполагают обязательное наличие выхода из лабиринта. Мне же нужно заполнить поле 10x10 двумя символами в рандомном порядке и уже в полученном поле искать маршрут между двумя точками.
Воспользуйтесь алгоритмом A* для поиска пути. И генерации лабиринта.
Суть простая. Заполняете поле случайными "весами". По алгоритму, ищете 2-3 оптимальных пути. Их делаете неприкасаемыми, а остальное поле заполняете как угодно. Но правда маршрут всегда можно будет проложить.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Необходимо реализовать рекурсивный метод, который будет выводить список всех папок внутри папки, таким образом:
Есть внешняя библиотека, которая юзает apache для кодирования данных
Есть база данных firebase, где хранятся очки пользователей, которые они зарабатывают каждый деньЯ хочу сделать график, который будет отображать...
Не хочет запускаться селением на стандартном портуКогда меняю порт то все нормально при первом запуске, но после остановки этот порт становится...