Zadanie w systemie SPOJ (srednie)
4345. Kodowanie permutacji
Kod zadania: KOD_PER
|
Kodowanie permutacji
Każdą permutację A = (a1, ..,an) liczb 1, ... , n można zakodować za pomocą ciągu B = (b1, ..,bn), w którym bi jest równe liczbie wszystkich aj takich, że: (j < i oraz aj > ai), dla każdego i = 1,...,n.
Przykład
Kodem permutacji A = (1, 5, 2, 6, 4, 7, 3) jest ciąg: B = (0, 0, 1, 0, 2, 0, 4).
Napisz program, który:
wczytuje ze standardowego wejścia długość n i kolejne wyrazy ciągu liczb B,
sprawdza, czy jest on kodem jakiejś permutacji liczb 1,..., n,
jeżeli tak, to znajduje tę permutację i zapisuje ją do standardowego wyjścia,
w przeciwnym przypadku zapisuje do standardowego wyjścia jedno słowo NIE.
Wejście
W pierwszym wierszu standardowego wejścia jest zapisana dodatnia liczba całkowita n <= 30000. Jest to liczba wyrazów ciągu B.
W każdym z kolejnych n wierszy jest zapisana jedna liczba całkowita nieujemna nie większa niż 30000. Jest to kolejny wyraz ciągu B.
Wyjście
Do standardowego wejścia należy zapisać:
w każdym z kolejnych n wierszy jeden wyraz permutacji A, której kodem jest dany ciąg B, zapisany na wejściu
jedno słowo NIE, jeśli ciąg B nie jest kodem żadnej permutacji.
Przykład
Dla danych:
7
0
0
1
0
2
0
4
Poprawna odpowiedź to:
1
5
2
6
4
7
3
Dla danych:
4
0
2
0
0
Poprawna odpowiedź to:
NIE
| Dodane przez: | Romualda Laskowska |
| Data dodania: | 2009-05-07 |
| Limit czasu wykonania programu: | 1s
|
| Limit długości kodu źródłowego | 50000B |
| Języki programowania: | C C++ 4.0.0-8 C99 strict PAS fpc PAS gpc |
| Pochodzenie: | Warsztaty informatyczne - Nowy Sącz |