Książki „Wybierz własną przygodę” to forma interaktywnej literatury, w której czytelnik musi podejmować decyzje wpływające na wynik opowieści. W niektórych momentach historii czytelnik ma wiele opcji do wyboru, z których każda wysyła czytelnika na inną stronę w książce.
Na przykład w otoczeniu fantasy może być konieczne podjęcie decyzji na stronie 14, czy zapuścić się do tajemniczej jaskini, „skacząc” na stronę 22, lub eksplorować pobliski las, skacząc na stronę 8. Te „skoki” można wyrazić jako pary numerów stron, takie jak:
14 22
14 8
W większości przypadków historia ma wiele zakończeń, ale tylko kilka dobrych. Celem jest nawigacja w historii, aby osiągnąć dobre zakończenie.
Zadanie:
Biorąc pod uwagę listę „skoków” do danej książki, Twoim zadaniem jest określenie trasy, która doprowadzi do określonego zakończenia. Ponieważ jest to dość łatwe, prawdziwym wyzwaniem jest zrobienie tego w jak najmniejszej liczbie postaci.
To jest kod golfowy .
Przykładowe dane wejściowe (gdzie 1 to początek, a 100 to cel):
1 10
10 5
10 13
5 12
5 19
13 15
12 20
15 100
Przykładowe dane wyjściowe:
1 10 13 15 100
Przykładowe dane wejściowe:
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
Przykładowe dane wyjściowe:
1 15 2 12 80 100
Uwagi:
- Lista skoków zostanie wprowadzona przez użytkownika albo z pliku, albo ze standardowego wejścia. Możesz wybrać najbardziej dogodną.
- Dane wejściowe będą zawierać 1 skok na linię, z punktem początkowym i docelowym oddzielonymi pojedynczą spacją.
- Nie ma gwarancji, że wiersze na wejściu będą w określonej kolejności.
- Pomyślna ścieżka rozpocznie się na stronie 1 i zakończy na stronie 100.
- Możesz założyć, że do celu jest co najmniej 1 ścieżka. Nie musisz znaleźć wszystkich ścieżek ani znaleźć najkrótszej. Znajdź przynajmniej jeden.
- Najmniejszy numer strony to 1. Nie ma limitu największego numeru strony. (Możesz założyć, że będzie pasować do zakresu int.)
- Pętle mogą istnieć. Na przykład lista może zawierać skoki ze strony 5 na 10, 10 na 19 i 19 na 5.
- Mogą istnieć ślepe zaułki. Oznacza to, że na stronie docelowej może nie być nigdzie skakać.
- I odwrotnie, mogą istnieć nieosiągalne strony. Oznacza to, że strona początkowa może nie być celem żadnych skoków.
- Nie wszystkie numery stron od 1 do 100 są gwarantowane.
- Dane wyjściowe powinny składać się z prawidłowej trasy numerów stron, zaczynając od 1 i kończąc na 100, oddzielone spacjami.
Pamiętaj, to jest golf golfowy, więc wygrywa najkrótsze rozwiązanie!
EDYCJA: Dodano kolejną próbkę do testowania.