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.
Na wyspie o kształcie wielokąta wypukłego o bokach, znajduje się państw - trójkątów, których wierzchołki są jednocześnie wierzchołkami wielokąta. Nie ma państw graniczących dokładnie z dwoma innymi państwami (zatem każde państwo graniczy albo tylko z jednym państwem, albo z trzema).
Wynika stąd, że istnieje dokładnie państw graniczących tylko z jednym państwem (są to państwa nadmorskie) oraz państw graniczących z trzema sąsiadami (są to państwa wewnątrzlądowe). Państwa nadmorskie są ponumerowane liczbami od do , natomiast państwa wewnątrzlądowe mają numery od do .
Gdy podróżujemy z jednego państwa do drugiego, to za przekroczenie każdej granicy musimy zapłacić ustaloną stawkę. Poszczególne stawki mogą być różne, ale przekroczenie granicy w obu kierunkach kosztuje tyle samo.
Dla każdych dwóch państw, spośród państw nadmorskich, znana jest suma opłat granicznych na drodze prowadzącej (lądem) od jednego państwa do drugiego przez najmniejszą liczbę granic. Zadanie polega na wyznaczeniu wszystkich opłat granicznych na całej wyspie. Dla każdego państwa nadmorskiego należy podać numer państwa, z którym ono graniczy, oraz wysokość odpowiedniej opłaty granicznej. Ponadto, dla każdego z państw wewnątrzlądowych należy podać numery trzech państw, z którymi ono graniczy, oraz wysokości opłat na granicach z tymi państwami.
Napisz program, który:
W pierwszym wierszu standardowego wejścia znajduje się jedna dodatnia liczba całkowita , . Jest to liczba państw nadmorskich. W każdym z następnych wierszy znajduje się nieujemnych liczb całkowitych oddzielonych pojedynczymi odstępami. Liczba , stojąca na -tym miejscu w -tym z tych wierszy, jest równa sumie opłat granicznych na drodze prowadzącej (lądem, przez najmniejszą liczbę granic) z państwa o numerze do państwa o numerze . Zakładamy przy tym, że na każdej granicy opłata graniczna jest liczbą całkowitą z przedziału . Oczywiście, oraz .
W pierwszych wierszach standardowego wyjścia należy zapisać po dwie liczby całkowite oddzielone pojedynczym ostępem. Pierwszą liczbą w -tym wierszu powinien być numer państwa graniczącego z państwem o numerze , a drugą wysokość opłaty granicznej na granicy między tymi dwoma państwami. W każdym z następnych wierszy należy zapisać po sześć liczb oddzielonych pojedynczymi odstępami. W wierszu o numerze (licząc od początku pliku, a więc ) pierwszą liczbą ma być numer pierwszego państwa graniczącego z państwem o numerze , drugą ma być wysokość opłaty granicznej na tej granicy, trzecią ma być numer drugiego państwa graniczącego z państwem o numerze , czwartą wysokość opłaty granicznej na drugiej granicy, piątą ma być numer trzeciego państwa graniczącego z państwem o numerze , szóstą ma być wysokość opłaty granicznej na trzeciej granicy. Państwa wewnątrzlądowe mogą być ponumerowane dowolnie liczbami od do .
Dla danych wejściowych:
7 0 8 10 8 13 11 14 8 0 8 10 11 5 12 10 8 0 12 5 11 6 8 10 12 0 15 13 16 13 11 5 15 0 14 3 11 5 11 13 14 0 15 14 12 6 16 3 15 0
poprawną odpowiedzią jest:
12 3 10 1 9 1 12 5 8 1 10 4 8 2 5 1 7 2 9 3 3 1 8 3 11 4 2 1 6 4 11 2 9 4 10 2 12 2 1 3 4 5 11 2
Autor zadania: Wojciech Guzicki.