Існує добре відома біекція між перестановками n елементів і числами 0 до n! -1, так що лексикографічне впорядкування перестановок та відповідних чисел однакове. Наприклад, при n = 3:
0 <-> (0, 1, 2)
1 <-> (0, 2, 1)
2 <-> (1, 0, 2)
3 <-> (1, 2, 0)
4 <-> (2, 0, 1)
5 <-> (2, 1, 0)
Також добре відомо, що перестановки n елементів утворюють групу (симетричну групу порядку n!) - так, зокрема, що одна перестановка n елементів, застосованих до другої перестановки n елементів, дає перестановку n елементів .
Наприклад, (1, 0, 2), що застосовується для (a, b, c), врожайності (b, a, c), так (1, 0, 2), що застосовується для (2, 1, 0) врожайності (1, 2 , 0).
Напишіть програму, яка бере три цілі аргументи: n, p1 та p2; інтерпретує p1 і p2 як перестановки n елементів; застосовує перше до другого; і виводить відповідне ціле число. Наприклад:
$ ./perm.sh 3 2 5
3
A.
вчора зазирнув у документацію , але був надто стомлений, щоб спробувати зібрати в правильному порядку для питання O :-)