Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
KOD_PER - Kodowanie permutacji |
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 |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | C CPP C99 PAS-GPC PAS-FPC |
Pochodzenie: | Warsztaty informatyczne - Nowy Sącz |