|
3 / 3 / 2
Регистрация: 07.08.2018
Сообщений: 84
|
|
Задача E. Лабиринт05.11.2019, 13:03. Показов 7144. Ответов 21
Робот находится в центре некоторого лабиринта. Лабиринт состоит из помещений и дверей:
https://ucarecdn.com/89b6a4d4-... a735e6f56/ На схеме изображены помещения, ограниченные радиальными и шестиугольными стенами. По краям лабиринта стены покрашены в красный цвет. В шестиугольных стенах смонтированы двери между помещениями. Радиальные стены соединены с красной стеной. Дверей в красной стене нет. Каждое помещение имеет свой уникальный номер. Номер центрального помещения, из которого стартует робот, всегда равен 0. Ни один номер не повторяется дважды. Между помещениями установлены двери. Каждая дверь связывает некоторую пару помещений. Между двумя помещениями может быть не более одной двери. Нет ни одного помещения, в которое нельзя прийти из центра и из которого нельзя выйти к красной стене, двигаясь по направлению из центра. В радиальных стенах двери отсутствуют. Задача робота добраться до красной стены. Робот в данном лабиринте ведет себя следующим образом: каждый раз он случайно (равновероятно) выбирает дверь, ведущую в сторону от центра. В каких помещениях робот будет заканчивать работу чаще? Определите вероятности попадания робота в помещения с красной стеной. Формат входных данных В первой строке программе подается целое число n (1≤n≤102) — количество дверей. Далее в n строках через пробел записываются пары целых чисел a, b (0≤a, b≤n,a≠b) — номера помещений, которые соединены дверью. Формат выходных данных Для каждого помещения с красной стеной в отдельной строке выведите вероятность попадания робота в данное помещение в следующем формате: номера помещений запишите в порядке возрастания; после каждого номера поставьте двоеточие; затем через пробел укажите вероятность попадания в указанное помещение. Если вероятность является целым числом, укажите это число. Если вероятность — дробное число, то запишите его в виде простой дроби x/y, где НОД(x,y)=1. Система оценки Баллы за задачу будут начислены, если все тесты будут пройдены успешно. Sample Input: 23 0 1 0 2 0 3 0 9 1 16 1 17 16 15 15 14 15 13 17 21 17 18 18 19 18 20 2 4 2 5 4 6 4 7 5 8 3 22 9 23 9 10 10 11 10 12 Sample Output: 6: 1/16 7: 1/16 8: 1/8 11: 1/16 12: 1/16 13: 1/16 14: 1/16 19: 1/32 20: 1/32 21: 1/16 22: 1/4 23: 1/8
0
|
|
| 05.11.2019, 13:03 | |
|
Ответы с готовыми решениями:
21
Лабиринт Лабиринт лабиринт |
|
Just Do It!
|
||||||
| 06.11.2019, 21:39 | ||||||
|
ivan_proger,
0
|
||||||
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 07.11.2019, 12:09 | |
|
ivan_proger, хочу предложить свое видение решения задачи:
Данный лабиринт легко сводится к дереву. 0 - корень. Двери ведут к следующей ветке или листку. Стоим дерево из исходных данных. Далее ищем все листья, считая количество переходов от корня, учитывая переходы к "брату" (но только на одном уровне с найденным листком). Тем самым получаем требуемую вероятность Останется только отсортировать полученный результат и вывести.
0
|
|
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 07.11.2019, 12:25 | |
|
XLAT, Я не пользуюсь контейнерами. Строю все сам. А Вы смотрите сами. Вариантов реализации много.
0
|
|
|
║XLR8║
|
||||
| 07.11.2019, 14:03 | ||||
|
ivan_proger, можно ссылку на систему тестирования?
XLAT, liv правильно сказал что нужно строить дерево. std::vector<std::vector<int>> v, тогда v[i] - все дети узла с индексом i. Потом можно запустить волновой алгоритм на подобии того что вы сделали.sam - входные данные, описывающие рёбра между вершинами графа, door непонятная структура данных отвечающая на вопрос: сколько раз из данной вершины выходит неориентированное ребро.
a > b или чего-то подобного. Если во входных данных будет не 16 15 а 15 16, ваша программа зайдёт в вечный цикл, добро пожаловать "time limit".Преждевременная оптимизация - корень всех зол (с) не помню автора. Добавлено через 1 минуту XLAT, поправьте меня, если я ошибся и чего не доглядел.
0
|
||||
|
Just Do It!
|
|||||||
| 07.11.2019, 14:47 | |||||||
|
но для вас поправил:
0
|
|||||||
|
║XLR8║
|
|
| 07.11.2019, 17:25 | |
|
XLAT, вы строите своё решение на ложном предположении о формате входных данных и решение не подходит для данной задачи.
"Преждевременная оптимизация - корень всех зол" (С) не помню кто сказал Строй вы обычное дерево - проблем было бы меньше.
0
|
|
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 07.11.2019, 19:00 | |
|
Хм, кто-нибудь мне объяснит, чем отличаются помещения 13, 14 от 19, 20?
Пути одинаковые, а вероятности разные... Если сложить предложенные вероятности в ответе, то получим 1, как и должно быть. Отсюда вопрос: как считать вероятность попадания в помещения? У меня получается, что вероятности для вышеозначенных помещений одинаковые 1/32, что, в итоге, в сумме не дает 1...
1
|
|
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 07.11.2019, 19:17 | |
|
Вероятности всех остальных помещений - один в один...
0
|
|
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 07.11.2019, 19:18 | |
|
XLAT, действительно
Угу, немного не учел...
0
|
|
|
Just Do It!
|
||
| 07.11.2019, 19:22 | ||
|
в комнате 0 находится 4 двери.
вероятность выбора любой 1/4 Добавлено через 3 минуты смешно, однако, мне было. ах, да, сто пудов на контрольном сайте будут все комнаты только с одной дверью. надо бы поправить
0
|
||
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|||||||||||||||||
| 07.11.2019, 20:57 | |||||||||||||||||
![]() С вероятностью я разобрался. Сейчас подправлю ![]() Добавлено через 1 час 0 минут ivan_proger, XLAT, вот мое решение ![]()
XLAT, интересно, ТС еще интересна эта задача? ![]() А мне понравилась. ![]() Добавлено через 8 минут Забыл добавить реакцию на некорректность входных данных.
Ну и не сделал освобождение памяти ![]() Так и будет...
3
|
|||||||||||||||||
|
1 / 1 / 0
Регистрация: 14.07.2019
Сообщений: 43
|
|
| 08.11.2019, 15:48 | |
|
куча ошибок компиляции.
0
|
|
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 08.11.2019, 15:53 | |
|
Arterwk, каких именно?
Добавлено через 2 минуты В конце концов, переделайте под себя, кто не дает? Я показал, как можно реализовать идею. У меня работает. Дальше смотрите самостоятельно
0
|
|
| 08.11.2019, 15:53 | |
|
Помогаю со студенческими работами здесь
20
Лабиринт с++ лабиринт Лабиринт C++ Лабиринт Лабиринт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|