Wiarygodność świadków
Limit pamięci: 32 MB
Sąd dysponuje zeznaniami świadków oznaczonych kolejno liczbami naturalnymi .
Każde zeznanie jest stwierdzeniem postaci: „świadek zgadza się ze świadkiem ” albo „świadek nie zgadza się ze świadkiem ”.
Jeśli świadek zgadza się ze świadkiem , oznacza to, że świadek zgadza się też ze wszystkimi świadkami,
z którymi zgadza się świadek oraz nie zgadza się ze wszystkimi świadkami, z którymi nie zgadza się świadek .
Przyjmuje się przez domniemanie, że każdy świadek stwierdza: „Zgadzam się ze sobą”.
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.
Zadanie
Napisz program, który:
- wczytuje ze standardowego wejścia liczbę świadków i ich zeznania,
- znajduje wszystkich świadków, którzy nie są wiarygodni,
- zapisuje wynik na standardowe wyjście.
Wejście
W pierwszym wierszu standardowego wejścia jest zapisana jedna liczba całkowita ,
spełniająca nierówności .
Jest to liczba świadków.
W drugim wierszu jest zapisana jedna liczba całkowita , spełniająca nierówności .
Jest to liczba zeznań.
W każdym z kolejnych wierszy jest zapisana para liczb całkowitych , oddzielonych pojedynczym odstępem,
gdzie , .
Jeśli liczba jest dodatnia — jest to zapis zeznania: „świadek zgadza się ze świadkiem ”.
Jeśli liczba jest ujemna — jest to zapis zeznania: „świadek nie zgadza się ze świadkiem ”.
Wyjście
Na standardowe wyjście należy zapisać:
- jedno słowo NIKT, jeśli na podstawie zeznań nie można znaleźć żadnego świadka, który nie jest wiarygodny,
- albo — w porządku rosnącym — numery świadków, którzy nie są wiarygodni.
Przykład
Dla danych wejściowych:
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 4
poprawną odpowiedzią jest:
1
3
4
6
Autor zadania: Grzegorz Jakacki.