Witam po raz kolejny proszę o naprowadzenie mnie na dobrą drogę myślenia gdyż jak na razie nic sensownego mi do głowy nie przychodzi. Za każdą wskazówkę będę niezmiernie wdzięczny.
Dany jest zbiór liczb naturalnych P = {1, 2, 3., ...., n21, n}. Rozważmy wszystkie n - elementowe permutacje utworzone z elementów zbioru P. Wszystkich możliwych permutacji jest n! Załóżmy, że permutacje zbioru P zachowują porządek
leksykograficzny, tj. kolejne permutacje tworzone są wg zasady, iż w pierwszej kolejności dokonujemy wymiany elementów na prawym końcu ciągu, posuwając się w miarę tworzenia kolejnych od prawej do lewej, czyli przykładowo dla n = 4 uporządkowany leksykograficznie ciąg permutacji wyglądać będzie następująco :
P1={1, 2, 3, 4} P2={1, 2, 4, 3} P3={1, 3, 2, 4} P4={1, 3, 4, 2} P5={1, 4, 2, 3} P6={1, 4, 3, 2} P7={2, 1, 3, 4 } .......... P24={4, 3, 2, 1}
Niech Pk oznacza k2tą permutację w porządku leksykograficznym określonym jak wyżej (czyli 1 <= k <= n!).
W tekstowym pliku wejściowym <input_file> zapisany jest w formacie swobodnym ciąg kolejnych liczb całkowitych
stanowiących pewną permutację, a więc przykładowo:
7 4 2 5 1 6 3
Dla podanej permutacji Pk należy znaleźć (obliczyć) indeks k określający jej położenie w porządku leksykograficznym. Algorytm rozwiązania NIE MOŻE korzystać z mechanizmu opartego na obliczaniu kolejnych permutacji w porządku leksykograficznym w celu
znalezienia indeksu k.