IX Olimpiada Informatyczna 2001/2002
|
Zadanie: wyl
|
Autor: Jakub Pawlewicz
|
Zawody II stopnia, dzień pierwszy |
Plik źródłowy: | wyl.??? (np. pas, c, cpp) |
Plik wejściowy: | wyl.in |
Plik wyjściowy: | wyl.out |
Dzieci ustawiły się w kółko i bawią się w wyliczankę. Dzieci są ponumerowane od 1 do n w ten sposób, że (dla i = 1, 2, ..., n - 1) na lewo od dziecka nr i stoi dziecko nr i+1, a na lewo od dziecka nr n stoi dziecko nr 1. Dziecko, "na które wypadnie" w wyliczance, wypada z kółka. Wyliczanka jest powtarzana, aż nikt nie zostanie w kółku. Zasady wyliczanki są następujące:
Obserwujemy dzieci bawiące się w wyliczankę i widzimy, w jakiej kolejności wypadają one z kółka. Na podstawie tej informacji próbujemy odgadnąć, z ilu sylab składa się wyliczanka.
Napisz program, który:
W pierwszym wierszu pliku tekstowego wyl.in znajduje się jedna dodatnia liczba całkowita n, 2 <= n <= 20. W drugim wierszu znajduje się n liczb całkowitych pooddzielanych pojedynczymi odstępami - i-ta liczba określa, jako które z kolei dziecko nr i wypadło z kółka.
Twój program powinien zapisać w pierwszym i jedynym wierszu pliku tekstowego wyl.out jedną liczbę całkowitą: najmniejszą liczbę (k) sylab, jakie może mieć wyliczanka, lub jedno słowo NIE, jeśli taka liczba nie istnieje.
Dla pliku wejściowego wyl.in:
4 1 4 2 3poprawną odpowiedzią jest plik wyjściowy wyl.out:
5