ZADANIE: Wektor inwersji

advertisement
ZADANIE: Wektor inwersji
Dla każdej permutacji zbioru liczb naturalnych {1, 2, ..., N−1, N} można wyznaczyć tzw. wektor inwersji.
Wystarczy dla każdej liczby (elementu permutacji) zliczyć, ile przed nią występuje liczb większych od niej. Na
przykład dla permutacji:
1 2 3 4 5
wektor inwersji ma postać:
0 0 0 0 0
bo przed żadną liczbą nie występują liczby większe od niej. Z kolei dla permutacji:
3 2 1 5 4
wektor inwersji ma postać:
0 1 2 0 1
ponieważ przed 2 jest jedna większa liczba (3), przed jedynką − dwie (3, 2), przed piątką żadna, przed czwórką −
jedna (5).
Napisz program, który czyta dodatnią liczbę naturalną N, po czym czyta N liczb naturalnych, tworzących wektor
inwersji pewnej permutacji. Twój program powinien wypisać tę permutację.
Dane wejściowe
Pierwszy wiersz zawiera liczbę całkowitą N oznaczającą ilość elementów permutacji (1 ≤ N ≤ 1000). Następny
wiersz zawiera N liczb naturalnych oznaczających elementy wektora inwersji. Liczby w wierszu oddzielone są
pojedynczymi odstępem.
Wynik programu
Program powinien wypisać wiersz tekstu zawierający liczby naturalne od 1 do N w permutacji odpowiadającej
wczytanemu wektorowi inwersji.
Przykładowy rezultat
Na przykład dla danych wejściowych:
4
0 1 1 1
program powinien wypisać:
4 1 2 3
Download
Random flashcards
123

2 Cards oauth2_google_0a87d737-559d-4799-9194-d76e8d2e5390

ALICJA

4 Cards oauth2_google_3d22cb2e-d639-45de-a1f9-1584cfd7eea2

bvbzbx

2 Cards oauth2_google_e1804830-50f6-410f-8885-745c7a100970

66+6+6+

2 Cards basiek49

Pomiary elektr

2 Cards m.duchnowski

Create flashcards