Виберіть власні книги пригод - це форма інтерактивної літератури, де читач повинен приймати рішення, які впливають на результат історії. У певні моменти історії читач має кілька варіантів, які можна вибрати, кожен надсилає читача на іншу сторінку книги.
Наприклад, у фантастичній обстановці, можливо, доведеться визначитись на сторінці 14, чи слід заходити в таємничу печеру, "перестрибуючи" на сторінку 22, або досліджуючи сусідній ліс, переходячи на сторінку 8. Ці "стрибки" можна виразити як пари номерів сторінок, наприклад:
14 22
14 8
У більшості випадків історія є багато закінчень, але лише кілька хороших. Мета - орієнтуватися на історії, щоб досягти хорошого кінця.
Завдання:
Враховуючи список «стрибків» для даної книги, ваше завдання - визначити маршрут, який призведе до конкретного закінчення. Оскільки це досить легко, справжньою задачею є зробити це якомога менше символів.
Це код гольфу .
Зразок введення (де 1 - старт, а 100 - мета):
1 10
10 5
10 13
5 12
5 19
13 15
12 20
15 100
Вибірка зразка:
1 10 13 15 100
Зразок введення:
15 2
1 4
2 12
1 9
3 1
1 15
9 3
12 64
4 10
2 6
80 100
5 10
6 24
12 80
6 150
120 9
150 120
Вибірка зразка:
1 15 2 12 80 100
Примітки:
- Список стрибків буде введений користувачем або з файлу, або з stdin. Ви можете вибрати те, що зручніше.
- Вхід буде містити 1 стрибок на рядок, з початком та адресою, розділеними одним пробілом.
- Рядки на вході не гарантуються в певному порядку.
- Успішний шлях розпочнеться на сторінці 1 і закінчиться на сторінці 100.
- Ви можете припустити, що є щонайменше 1 шлях до мети. Вам не потрібно знаходити всі шляхи, а також не потрібно знайти найкоротший. Просто знайдіть хоча б один.
- Найменший номер сторінки буде 1. Найбільший номер сторінки не обмежується. (Ви можете припустити, що він впишеться в діапазон інт.)
- Петлі можуть існувати. Наприклад, у списку можуть бути стрибки зі сторінки 5 на 10, 10 на 19 та 19 на 5.
- Можуть бути тупики. Тобто на цільовій сторінці може нікуди переходити.
- І навпаки, можуть бути недоступні сторінки. Тобто сторінка початку може не бути адресою жодних стрибків.
- Не всі номери сторінок між 1 і 100 гарантовано використовуються.
- Вихід повинен складатися з дійсного маршруту номерів сторінок, починаючи з 1 і закінчуючи 100, розділених пробілами.
Пам’ятайте, це кодовий гольф, тому найкоротше рішення виграє!
EDIT: Додано ще один зразок для тестування.