Hazard
Limit pamięci: 32 MB
Maszyna hazardowa składa się z generatorów liczb: , gdzie .
Generator może generować liczby tylko z ustalonego zbioru ,
lub liczbę zero oznaczającą koniec gry.
Zbiór może być zbiorem pustym.
Niech oznacza liczbę elementów zbioru .
Suma liczb dla wszystkich nie może przekroczyć .
Pierwsze uruchomienie generatora powoduje wygenerowanie losowej liczby ze zbioru .
Kolejne uruchomienie powoduje wygenerowanie losowej liczby ze zbioru ,
która nie została jeszcze wylosowana przez ten generator.
Jeśli takiej liczby nie ma, generuje liczbę zero.
Maszyna zaczyna działanie od uruchomienia generatora .
Następnie, generatory są uruchamiane zgodnie z zasadą,
że jeśli uruchomiony generator wygenerował liczbę dodatnią ,
to następnym uruchomionym generatorem jest .
Jeśli ostatnio wygenerowana liczba jest zerem, to maszyna się zatrzymuje.
Maszyna ponosi porażkę, gdy generator wygeneruje zero oraz wszystkie generatory wygenerowały wszystkie liczby ze swoich zbiorów.
Maszyna jest dobrze skonstruowana,
gdy istnieje kończąca się zerem sekwencja kolejno generowanych liczb nie prowadząca do porażki maszyny.
Zadanie
Napisz program, który:
- wczytuje ze standardowego wejścia opis maszyny, tzn. liczbę generatorów , liczby i zbiory ,
- bada, czy maszyna opisana w pliku wejściowym jest dobrze skonstruowana,
- jeśli nie, zapisuje na standardowe wyjście jedno słowo NIE,
a w przeciwnym przypadku kończącą się zerem sekwencję kolejno generowanych liczb nie prowadzącą do porażki maszyny.
Wejście
W pierwszym wierszu standardowego wejścia jest zapisana jedna liczba całkowita dodatnia , .
Jest to liczba wszystkich generatorów.
W -szym wierszu (dla ) jest liczba i po niej wszystkie elementy zbioru w dowolnej kolejności.
Kolejne liczby w każdym wierszu są pooddzielane pojedynczymi odstępami.
Wyjście
Na standardowe wyjście należy zapisać jedno słowo NIE
(jeśli maszyna nie jest dobrze skonstruowana) albo, w jednym wierszu
odpowiedni skończony ciąg liczb pooddzielanych pojedynczymi odstępami.
Przykład
Dla danych wejściowych:
2
2 1 2
1 2
poprawną odpowiedzią jest:
2 2 0
natomiast dla danych:
2
1 2
0
poprawnym wynikiem jest:
NIE
Autor zadania: Wojciech Plandowski.