Grupa turystów ma sposobność zwiedzić wiele pięknych miast. Każdy uczestnik grupy może wskazać dwa miasta i o każdym z nich powiedzieć, czy chce lub nie chce je odwiedzić. Może się zdarzyć, że turysta wskaże dwa razy to samo miasto i raz będzie chciał je odwiedzić, a raz nie.
Napisz program, który:
Pierwszy wiersz danych zawiera dwie dodatnie liczby całkowite
i
(
,
);
jest liczbą turystów, natomiast
jest liczbą miast.
Turyści są ponumerowani od
do
, natomiast miasta są ponumerowane od
do
.
Każdy z następnych
wierszy zawiera dwie niezerowe liczby całkowite oddzielone pojedynczym odstępem.
W
-tym z tych wierszy znajdują się liczby
i
, odddzielone pojedynczym
odstępem, opisujące życzenia
-tego turysty,
,
,
,
.
Liczba dodatnia oznacza, że turysta chce odwiedzić miasto o tym numerze, natomiast liczba ujemna oznacza, że turysta nie chce odwiedzić miasta o numerze równym wartości bezwględnej tej liczby.
W pierwszym wierszu Twój program powinien zapisać jedną nieujemną liczbę całkowitą
, oznaczającą liczbę miast do odwiedzenia.
Drugi wiersz powinien zawierać
dodatnich liczb całkowitych uporządkowanych rosnąco - numery miast, które należy odwiedzić, żeby zadowolić wszystkich turystów.
W przypadku, gdy nie można utworzyć listy miast zadowalających wszystkich turystów (być może pustej), Twój program powinien zapisać w pierwszym i jedynym wierszu wyjścia słowo NO.
Dla danych wejściowych:
3 4 1 -2 2 4 3 1
poprawną odpowiedzią jest:
2 3 4
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.