V Olimpiada Informatyczna 1995/96

Zadanie: SUM
Autor: Grzegorz Jakacki
Suma ciągu jedynkowego

Zawody I stopnia  
Plik źródłowy: SUM.??? (np. pas, c, cpp)
Plik wykonywalny: SUM.exe
Plik wejściowy: SUM.in
Plik wyjściowy: SUM.out

Ciąg liczbowy o wartościach będących liczbami całkowitymi nazywamy jedynkowym jeżeli dwa dowolne jego sąsiednie wyrazy różnią się od siebie dokładnie o jeden oraz jego pierwszy wyraz jest równy 0. Bardziej precyzyjnie: [a1,a2,...,an] będzie ciągiem o wartościach całkowitych; powiedzmy, że ten ciąg jest jedynkowy, jeżeli

Zadanie
Napisz program, który:

Wejście
W pliku tekstowym SUM.IN są zapisane

Wyjście
W pierwszych n wierszach pliku tekstowego SUM.OUT należy zapisać n liczb całkowitych (po jednej w wierszu) będących kolejnymi wyrazami ciągu jedynkowego (k-ty wyraz w k-tym wierszu) o zadanej sumie S lub słowo NIE, jeżeli taki ciąg nie istnieje.

Przykład
Dla pliku wejściowego SUM.IN o zawartości:

8
4
poprawnym rozwiązaniem jest plik wyjściowy SUM.OUT o zawartości:
0
1
2
1
0
-1
0
1
Twój program powinien szukać pliku SUM.IN w katalogu bieżącym i tworzyć plik SUM.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę SUM.???, 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 SUM.EXE