|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||
Угадай, где выход! (Поиск листа бинарного дерева, содержащего выход из лабиринта)26.01.2015, 07:20. Показов 4029. Ответов 21
Метки нет (Все метки)
. А всё потому, что я, наверное, неправильно строю деревья.Я прочитал эту строчку:
Я так понимаю, что это неправильно. Объясните, пожалуйста, как правильно нужно нумеровать дерево и в какой последовательности обходить это дерево для трёх тестовых примеров. Если несложно, то нарисуйте хотя бы в Paint'e рисунок со стрелочками или попробуйте описать комментариями.
0
|
|||
| 26.01.2015, 07:20 | |
|
Ответы с готовыми решениями:
21
Выход из лабиринта Выход из лабиринта Выход из лабиринта |
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
||
| 26.01.2015, 11:25 | ||
Сообщение было отмечено Dennis Ritchie как решение
РешениеОбрати внимание как именно ходит игрок - влево-вправо в цикле с возвратом из посещенных вершин. Вот две картинки, в одной заполнение дерева числами при h=5, во второй стрелками показано в какую ветку пойдет игрок при первом посещении узла, цифры - порядок первичного посещения узлов. (К слову, все узлы, кроме листьев, посещаются 3 раза - первый проход, возврат для захода в соседнюю ветку, и возврат "вверх")
0
|
||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|
| 26.01.2015, 11:40 | |
|
У тебя описан алгоритм вполне подробно, просто следуй ему при обходе и все.
- поочередно идем налево и направо - если уже посещали вершину куда хотим идти - пропустить ход - если попустили два раза - идем наверх - если попали в лист (а это "край" дерева) и лист не выход - идем наверх - если нашли выход - конец игре. Поправка на рисунках, не h=5, а h=4
1
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||||||
| 26.01.2015, 11:47 [ТС] | ||||||||||
|
Вот крутое чужое решение :
0
|
||||||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||||||||
| 26.01.2015, 14:24 | ||||||||
|
Добавлено через 2 минуты
0
|
||||||||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||
| 26.01.2015, 14:29 [ТС] | ||||
![]() Добавлено через 2 минуты
0
|
||||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
||
| 27.01.2015, 14:11 | ||
|
0
|
||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||||||
| 27.01.2015, 18:02 [ТС] | |||||||
Как оказалось, это решение тоже не очень простое. Крутил я его в отладчике и так и этак, и ничего толком не понял. Понял, что в массиве содержится левая кромка полного дерева из степеней двойки от tree[0] = 1 до tree[50] = 1125899906842624. Объясните, пожалуйста, что содержится в переменной l и что считается в этом выражении l + tree[h - dep - 1].
0
|
|||||||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|
| 28.01.2015, 08:59 | |
|
Сделай распечатку хода выполнения процедуры dfs() - вход-выход в процедуру, каждый чих, и все переменные в этом чихе записывать в файл.
1
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||
| 28.01.2015, 17:40 [ТС] | ||
|
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 28.01.2015, 19:35 | ||
|
proga >file.txt Ну и в этом файле будет весь протокол работы и вся логика этой работы.
1
|
||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||||
| 28.01.2015, 19:42 [ТС] | ||||||||
0
|
||||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 28.01.2015, 20:04 | |
|
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
| 29.01.2015, 05:25 [ТС] | ||||||
0
|
||||||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
| 29.01.2015, 07:58 [ТС] | ||||||
|
Так лучше:
Не понимаю: а почему при h = 3 и n = 8 ответ 14? По-моему, ответ должен быть 7. Ведь игрок не должен посетить правую ветку, а из ответа следует, что он проходит правую ветку полностью.
0
|
||||||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|
| 29.01.2015, 08:33 | |
|
Проверь другие числа
h=3 n=8 ответ 14 как раз соответствует ответу на картинке что я давал Угадай, где выход! (Поиск листа бинарного дерева, содержащего выход из лабиринта)
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||
| 29.01.2015, 09:16 [ТС] | ||
|
0
|
||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 29.01.2015, 09:48 [ТС] | |
|
Что не так в моей логике?
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 29.01.2015, 18:20 [ТС] | |
|
Выходит, что я неправильно понял алгоритм обхода, так как я не понимаю, почему при h = 1 и n = 2 ответ будет 2.
Ведь посещается только первая вершина (вторая вершина - это выход), так почему ответ два.
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||
| 29.01.2015, 20:40 [ТС] | ||
|
Надо было внимательнее читать условие задачи. Нумеруются только листы:
0
|
||
| 29.01.2015, 20:40 | |
|
Помогаю со студенческими работами здесь
20
Выход из лабиринта Простой выход из лабиринта
Найти выход из лабиринта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|