IV Olimpiada Informatyczna 1996/97
|
Zadanie: WIA
|
Autor: Grzegorz Jakacki
|
Zawody III stopnia |
Plik źródłowy: | WIA.??? (np. pas, c, cpp) |
Plik wykonywalny: | WIA.exe |
Plik wejściowy: | WIA.in |
Plik wyjściowy: | WIA.out |
Sąd dysponuje zeznaniami świadków oznaczonych kolejno liczbami naturalnymi 1, 2, ... , n. Każde zeznanie jest stwierdzeniem postaci: "świadek i zgadza się ze świadkiem j" albo "świadek i nie zgadza się ze świadkiem j".
Jeśli świadek i zgadza się ze świadkiem j, oznacza to, że świadek i zgadza się też ze wszystkimi świadkami, z którymi zgadza się świadek j oraz nie zgadza się ze wszystkimi świadkami, z którymi nie zgadza się świadek j.
Mówimy, że świadek nie jest wiarygodny, jeśli z zeznań świadków, będących w posiadaniu sądu wynika, że jednocześnie zgadza się on i nie zgadza z pewnym dowolnym świadkiem.
W drugim wierszu pliku tekstowego WIA.IN jest zapisana jedna liczba całkowita m, spełniająca nierówności 0 <= m <= 8000. Jest to liczba zeznań.
W każdym z kolejnych m wierszy jest zapisana para liczb całkowitych i j, oddzielonych pojedynczym odstępem, gdzie 1 <= i <= n, 1 <= | j | <= n. Jeśli liczba j jest dodatnia - jest to zapis zeznania: "świadek i zgadza się ze świadkiem j". Jeśli liczba j jest ujemna - jest to zapis zeznania: "świadek i nie zgadza się ze świadkiem -j".
6 12 1 3 1 6 2 -1 3 4 4 1 4 -2 4 5 5 -1 5 -3 5 2 6 5 6 4poprawnym rozwiązaniem jest plik tekstowy WIA.OUT:
1 3 4 6
Twój program powinien szukać pliku WIA.IN w katalogu bieżącym i tworzyć plik WIA.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę WIA.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku WIA.EXE.