Esiste una ben nota biiezione tra le permutazioni di n elementi e i numeri da 0 a n! -1 tale che l'ordinamento lessicografico delle permutazioni e dei numeri corrispondenti è lo stesso. Ad esempio, con 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)
È anche noto che le permutazioni di n elementi formano un gruppo (il gruppo simmetrico dell'ordine n!) - quindi, in particolare, che una permutazione di n elementi applicata a una seconda permutazione di n elementi produce una permutazione di n elementi .
Ad esempio, (1, 0, 2) applicato a (a, b, c) rese (b, a, c), quindi (1, 0, 2) applicato a (2, 1, 0) rese (1, 2 , 0).
Scrivi un programma che accetta tre argomenti interi: n, p1 e p2; interpreta p1 e p2 come permutazioni di n elementi; applica il primo al secondo; e restituisce il numero intero corrispondente. Per esempio:
$ ./perm.sh 3 2 5
3
A.
ieri, ma ero troppo stanco per provare a riunire nell'ordine corretto per la domanda O :-)