Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_15_06 - Windy |
Jan skończył studia z wyróżnieniem, a starty w licznych konkursach programistycznych pozwoliły mu znaleźć wymarzoną pracę... jest programistą w korporacji ;-) Właśnie poszedł na pierwszy w swojej karierze urlop i już pierwszego dnia uświadomił sobie, że przez roztargnienie zapomniał się wylogować na służbowym laptopie. Chciałby wrócić do firmy niepostrzeżenie i naprawić swój błąd jednak bardzo obawia się spotkania z szefem, który zapewne będzie zadawać wiele niewygodnych pytań. Nasz bohater ma swoje przypuszczenia odnośnie tego na których piętrach jego szef może przebywać o danej porze. Jan zdążył również zapamiętać sposób funkcjonowania wind w budynku i zna wszystkie połączenia pomiędzy piętrami. Nasz bohater postanowił, że napisze program który obliczy najkrótszy czas w jakim może znaleźć się na swoim piętrze, nie spotkawszy po drodze szefa. Napisz program za Jana stosując się do następujących zasad:
- Budynek posiada n pięter i jest otwarty przez 480 minut numerowanych od 0.
- Jan zjawi się w budynku na piętrze 0 o czasie 0.
- Nasz bohater musi się dostać na piętro k.
- Przejechanie jednego piętra trwa równo minutę.
- Nie można wjechać na piętro jeżeli aktualnie znajduje się na nim szef, można to zrobić najwcześniej sekundę po tym jak je opuści.
- Dozwolone jest czekanie na piętrze.
- Przesiadanie się pomiędzy windami na danym piętrze jest pomijalnie krótkie.
Wejście
W pierwszej linii wejścia znajdują się cztery liczby całkowite n, k, p oraz s (1 ≤ n ≤ 100, 0 ≤ k < n, 1 ≤ p ≤ 600, 1 ≤ s < 400) oznaczające odpowiednio liczbę pięter w budynku, piętro na które Jan musi się dostać, liczbę połączeń między piętrami oraz liczbę przypuszczeń dotyczących tego gdzie może przebywać szef. W kolejnych p liniach znajdują się opisy połączeń pomiędzy piętrami. Każdy opis składa się z dwóch liczb a i b (0 ≤ a, b < n) określających pomiędzy, którymi piętrami kursuje dana winda. Uwaga! Winda zatrzymuje się tylko na piętrach a i b. W następnych s liniach znajdują się przypuszczenia odnośnie lokalizacji szefa. Każdy opis składa się z 3 liczb nr, t1, t2 oznaczających, że od minuty t1 do minuty t2 włącznie szef może się znajdować na piętrze numer nr.
Wyjście
Wypisz NIE jeżeli nie jest możliwe dotarcie na k-te piętro bez spotkania szefa albo TAK <minimalny_czas> w przeciwnym wypadku.
Przykład
Wejście
5 2 3 2 0 2 0 3 2 3 2 2 4 1 3 400
Wyjście
TAK 5
Dodane przez: | Maciej Boniecki |
Data dodania: | 2014-03-29 |
Limit czasu wykonania programu: | 0.5s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |
Pochodzenie: | ALGOLIGA |
ukryj komentarze
2014-03-30 12:00:30 Maciej Boniecki
Jak to mówią spiesz się powoli ;) |
|
2014-03-30 11:49:09 Marcin Kasprowicz
Dwie bomby za jednym wysłaniem ;( |
|
2014-03-29 20:54:30 Szymon Wolarz
Czy może zdarzyć tak, że szef będzie się teleportował między piętrami, np. od 1 do 2 min. będzie na 1 piętrze, a od 2 do 3 na 2 piętrze? |
|
2014-03-29 17:14:30 Maciej Boniecki
Nie może, musi opuścić piętro jednostkę czasu wcześniej. |
|
2014-03-29 17:06:16 Mateusz Wasylkiewicz
Czy Jan może opuścić piętro na którym się znajduje dokładnie w momencie, gdy pojawi się na nim szef? |
|
2014-03-29 14:36:29 Maciej Boniecki
Nie ma takiego przypadku żeby szef był o czasie 0 na piętrze 0 bo wtedy Jan by w ogóle nie mógł wejść do budynku, a jest napisane "Jan zjawi się w budynku na piętrze 0 o czasie 0." |
|
2014-03-29 14:26:04 Mateusz Wasylkiewicz
Czy w przypadku, gdy na piętrze 0 w momencie 0 może być szef, Jan w ogóle nie wejdzie do budynku, czy zaczeka aż szef opuści piętro 0? Ostatnio edytowany: 2014-03-29 14:34:30 |
|
2014-03-29 13:31:58 Maciej Boniecki
Nie |
|
2014-03-29 13:30:17 Mateusz Wasylkiewicz
Czy Jan może czekać na piętrze w momencie, gdy przypuszcza, że może być na nim szef? |