W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem [email protected].
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, zapraszamy na serwery Discord. Są one moderowane przez społeczność, ale członkowie zespołu technicznego też są tam aktywni.
Bajtocka Fabryka Oprogramowania (BFO) zatrudnia pracowników. W hierarchii pracowników każdy ma swojego bezpośredniego przełożonego, z wyjątkiem dyrektora BFO, któremu (pośrednio lub bezpośrednio) podlegają wszyscy pracownicy BFO. Pracownicy mają ustalone miesięczne pensje, przy czym każdy pracownik zarabia inną kwotę, od 1 do bajtalarów. Każdy przełożony zarabia więcej niż każdy z jego podwładnych.
Zgodnie z bajtockim prawem, pensje pracowników na pewnych stanowiskach mogą być publicznie znane. Ponadto, jeśli pensja pewnego pracownika jest publicznie znana, to pensja jego przełożonego także jest znana.
Bajtocki Urząd Podatkowo-Antykorupcyjny (BUPA) postanowił prześwietlić BFO. Zanim BUPA wkroczy z kontrolą do BFO, chce najpierw poznać wysokość pensji wszystkich pracowników BFO, których pensje nie są publicznie znane, ale których wysokość wynika jednoznacznie z publicznie znanych wysokości pensji innych pracowników BFO.
W pierwszym wierszu standardowego wejścia podana jest jedna liczba całkowita () oznaczająca liczbę pracowników BFO. Pracownicy są ponumerowani od 1 do .
Kolejne wierszy zawiera informacje o pracownikach. Wiersz o numerze opisuje pracownika numer za pomocą dwóch liczb całkowitych i (, ) oddzielonych pojedynczym odstępem. Liczba to numer bezpośredniego przełożonego pracownika nr . Jeżeli , to jest numerem dyrektora BFO. Jeśli , to jest to wysokość pensji pracownika nr . Jeśli zaś , to wysokość pensji pracownika nr nie jest znana. Dodatnie liczby są parami różne.
Dane wejściowe będą tak skonstruowane, że będzie istniał co najmniej jeden sposób przypisania płac pracownikom zgodny z ich hierarchią.
W testach wartych łącznie 54% punktów zachodzi dodatkowy warunek .
Twój program powinien wypisać na standardowe wyjście wierszy, z których każdy powinien zawierać jedną liczbę całkowitą. Jeżeli pensja pracownika numer jest jawna lub może zostać wywnioskowana na podstawie znanych publicznie pensji innych pracowników, to -ty wiersz wyjścia powinien zawierać pensję pracownika numer . W przeciwnym przypadku -ty wiersz wyjścia powinien zawierać 0.
Dla danych wejściowych:
10 2 2 2 10 1 0 2 9 2 5 4 0 6 0 6 0 5 0 5 0
poprawną odpowiedzią jest:
2 10 1 9 5 8 0 0 0 0
Wyjaśnienie do przykładu: Na rysunku liczby w kółkach to numery pracowników, a liczby zapisane kursywą to publicznie znane pensje pracowników. Pracownik nr 3 musi zarabiać 1 bajtalar, a pracownik nr 6 musi zarabiać 8 bajtalarów. Zarobki pracowników nr 7, 8, 9 i 10 nie wynikają jednoznacznie z publicznie znanych zarobków innych pracowników.
Autor zadania: Adam Karczmarz.