|
0 / 0 / 0
Регистрация: 16.07.2008
Сообщений: 3
|
|
Помогите с выбором алгоритма(найти все ходы на карте лабиринта)16.07.2008, 09:28. Показов 2781. Ответов 12
Метки нет (Все метки)
Дана карта вида(задаётся любая в файле)
S ***| нужно найти все всевозможные проходы **F | от старта(S) до финиша(F) и выдать * | их на консоль.* - это стены лабиринта. **| END
0
|
|
| 16.07.2008, 09:28 | |
|
Ответы с готовыми решениями:
12
Реализация алгоритма обхода лабиринта Логическое устройство алгоритма прохождения лабиринта Помогите найти ошибку в функции сортировки выбором |
|
0 / 0 / 0
Регистрация: 16.07.2008
Сообщений: 3
|
|
| 16.07.2008, 09:30 [ТС] | |
|
карта корява вышла(она должна быть прямоугольная)
yariy
0
|
|
|
Defo
|
|
| 20.07.2008, 16:29 | |
|
Есть такая технология 'Теория конечных графов' достаточно нудная , но дает алгоритм для поиска наикротчайших путей, в принципе алгоритмы одного нет, но есть интересные книги по этой теме....
'Теория конечных графов' изд.Наука М. 1974 год P.S. только это не программирование в чистом виде это математический пакет для подобных задач |
|
|
0 / 0 / 0
Регистрация: 15.05.2007
Сообщений: 59
|
|
| 20.07.2008, 18:18 | |
|
Вот есть описание рекурсивного алгоритма:
http://newasp.omskreg.ru/intellect/f25.htm А вот варинат исполнения: http://slava.bip.ru/works/progs/index.htm
0
|
|
|
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
|
|
| 20.07.2008, 18:19 | |
|
Поищите в любом поисковике backtracking и 'перебор с возвратом'. Оптимальное решение это даст вряд ли, но алгоритмы вы отыщете. Вообще имеет смысл почитать, например Н.Вирта 'Алгоритмы + Структуры Данных = Программы' (в этой книге нет лабиринтов, но рекурсия вообще и backtracking в частности описаны превосходно). Правда достать эту книгу ну очень сложно.
Есть еще одна (более техническая) книга: Рейнгольд Э. Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. Это вообще кладезь идей и алгоритмов, но тоже редкость. Блин, печатают всякую дрянь типа 'С++ за 21 день' или 'SQL для чайников'. Лучше бы переиздали то, что действительно нужно (крик души) ((
0
|
|
|
Defo
|
|
| 21.07.2008, 13:34 | |
|
Алгоритмы расчитанные на 'интелектуальный' перебор всех вариантов мне кажутся утопичными, 'ГРАФЫ' позволяют сразу же обнаружить все варианты и выбрать оптимальный. главное воткнуть в сами расчеты АНАЛИТИКУ , и статистику результатов.....
Действительно, книг таких уже не издают. Я такие книге ищу в библиотеках или в БУКИНИСТИЧЕСКИХ отделах. Вот про графы ... искал пять дней, но нашел только в доме Технической книге. |
|
|
|
|
| 22.07.2008, 14:04 | |
|
Вышла неплохая книжка
Род Стивенс. Visual Basic. Готовые алгоритмы То, что изложение ведется на бейсике, совершенно не важно. В книге излагаются алгоритмы. Тут и очереди, и деревья, и сортировка. Ее можно скачать из сети в формате Word. Нужно зайти на страничку: http://infocity.kiev.ua/ В меню выбрать 'программирование' потом 'бейсик' и искать по слову 'Готовые'
0
|
|
|
Kamikadze
|
|
| 31.07.2008, 17:21 | |
|
Если лаборинт без разомкнутых стен то можно применить правило правой
или левой руки для выхода из лабиринта. Лабиринт задать матрицей и постоянно проверять чтобы слева или справа была постоянно стена. Если приходишь на начало лабиринта то точки выхода нету. |
|
|
Kamikadze
|
|
| 31.07.2008, 17:21 | |
|
Если лаборинт без разомкнутых стен то можно применить правило правой
или левой руки для выхода из лабиринта. Лабиринт задать матрицей и постоянно проверять чтобы слева или справа была постоянно стена. Если приходишь на начало лабиринта то точки выхода нету. |
|
|
Kamikadze
|
|
| 31.07.2008, 17:21 | |
|
Если лаборинт без разомкнутых стен то можно применить правило правой
или левой руки для выхода из лабиринта. Лабиринт задать матрицей и постоянно проверять чтобы слева или справа была постоянно стена. Если приходишь на начало лабиринта то точки выхода нету. |
|
|
Kamikadze
|
|
| 31.07.2008, 17:23 | |
|
Если лаборинт без разомкнутых стен то можно применить правило правой
или левой руки для выхода из лабиринта. Лабиринт задать матрицей и постоянно проверять чтобы слева или справа была постоянно стена. Если приходишь на начало лабиринта то точки выхода нету. |
|
|
Kamikadze
|
|
| 31.07.2008, 17:23 | |
|
Если лаборинт без разомкнутых стен то можно применить правило правой
или левой руки для выхода из лабиринта. Лабиринт задать матрицей и постоянно проверять чтобы слева или справа была постоянно стена. Если приходишь на начало лабиринта то точки выхода нету. |
|
|
0 / 0 / 0
Регистрация: 16.09.2008
Сообщений: 3
|
|
| 16.09.2008, 14:21 | |
|
Предлагаю следующее (классическое) решение.
Лабиринт можно нехитрым образом представить в виде графа: клетки - вершины, если из одной клетки можно перейти в другую, то соответствующие вершины связаны ребром. После чего на данном графе запискается алгоритм поиска в ширину или в глубину. Если в ширину - получим оптимальный (по длине) путь, если в ширину - в среднем в два раза быстрее, но полученный путь не обязательно оптимальный. В случае более хитрых лабиринтов можно использовать алгоритма Дейкстры, Уоршала-Флойда (для поиска всех путей), А*... Для информации можно посмотреть любую приличную книжку по теории графов/дискретной математикеке/computer science. К примеру: Ахо, Ульман '...Эффективные алгоритмы', Кормен и др. 'Алгоритмы: пострение и анализ', Липский 'Комбинаторика для программистов', Ф.Новиков 'Дискретная математика для программистов' и т.д. Backtracking для обхода лабиринта - порядочное извращение для людей, не понимающих графовой природы данной задачи.
0
|
|
| 16.09.2008, 14:21 | |
|
Помогаю со студенческими работами здесь
13
Реализация алгоритма Эллера для генерации лабиринта Привязка алгоритма выбора маршрута к карте
Вывести все возможные ходы коня Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|