In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Najpopularniejszym środkiem transportu w Bajtocji od zawsze była kolej. Spośród miast tego kraju, par miast jest połączonych odcinkami torów należącymi do Bajtockich Kolei Państwowych (BKP). Odcinki nie krzyżują się nigdzie poza miastami i mogą prowadzić tunelami lub mostami. Koszt przejazdu między dwoma miastami połączonymi bezpośrednio odcinkiem torów jest zawsze taki sam i wynosi bajtalarów.
Obecnie sytuacja na rynku usług komunikacyjnych w Bajtocji uległa zmianie. Pojawiła się konkurencja dla BKP - powstały Bajtockie Linie Lotnicze (BLL). BLL zamierzają uruchomić połączenia lotnicze między niektórymi parami miast. Ponieważ jazda bajtocką koleją jest bardzo wygodna, zarząd BLL postanowił uruchamiać połączenia lotnicze tylko między takimi parami miast, dla których nie istnieje bezpośrednie połączenie kolejowe. Ze względów ekonomicznych, BLL utworzy połączenia lotnicze jedynie między tymi parami miast, dla których najtańsze połączenie kolejowe wymaga dokładnie jednej przesiadki. Koszt biletu lotniczego na jedno połączenie będzie stały i równy bajtalarów.
Żeby pomóc mieszkańcom Bajtocji w planowaniu podróży, Ministerstwo Transportu Bajtocji (MTB) postanowiło stworzyć cenniki zawierające koszty najtańszych tras między poszczególnymi miastami kraju. Trasę rozumiemy tu jako sekwencję złożoną z dowolnej liczby pojedynczych połączeń kolejowych lub lotniczych. Zadanie stworzenia cenników przypadło w udziale Bajtazarowi, który pracuje jako urzędnik w MTB. Czy pomógłbyś mu w napisaniu programu, który wyznaczy odpowiednie cenniki?
Dodajmy dla jasności, że wszystkie połączenia kolejowe i lotnicze w Bajtocji są dwukierunkowe.
Pierwszy wiersz standardowego wejścia zawiera pięć liczb całkowitych , , , oraz (, , , ) pooddzielanych pojedynczymi odstępami. Liczby oraz oznaczają odpowiednio liczbę miast oraz liczbę połączeń kolejowych w Bajtocji. Dla uproszczenia miasta w Bajtocji numerujemy od do . Kolejne liczby w wierszu oznaczają: - numer miasta początkowego, dla którego należy wygenerować cennik opisujący najtańsze trasy; - koszt biletu na jedno połączenie kolejowe; - koszt biletu na jedno połączenie lotnicze.
Każdy z kolejnych wierszy zawiera dwie liczby całkowite oraz (, dla ) oddzielone pojedynczym odstępem, oznaczające numery miast połączonych bezpośrednim odcinkiem torów.
Możesz założyć, że z miasta numer można dojechać koleją do wszystkich pozostałych miast kraju.
W testach wartych łącznie 30% punktów zachodzą dodatkowe warunki oraz .
Twój program powinien wypisać na standardowe wyjście wierszy. Wiersz o numerze (dla ) powinien zawierać jedną liczbę całkowitą: koszt najtańszej trasy z miasta numer do miasta numer . Spośród tych wierszy, wiersz o numerze powinien zawierać liczbę 0.
Dla danych wejściowych:
5 5 1 3 2 1 2 2 3 3 4 4 5 3 1
poprawną odpowiedzią jest:
0 3 3 2 5
Wyjaśnienie do przykładu: Najtańsza trasa z miasta numer 1 do miasta numer 5 wiedzie przez miasto numer 3 lub miasto numer 4. W obu przypadkach składa się ona z jednego połączenia kolejowego i jednego lotniczego.
Autor zadania: Jakub Radoszewski.