Una permutazione di dimensione n è un riordino dei primi n numeri interi positivi. (significa che ogni numero intero appare una volta ed esattamente una volta). Le permutazioni possono essere trattate come funzioni che cambiano l'ordine di un elenco di elementi di dimensione n . Per esempio
(4 1 2 3) ["a", "b", "c", "d"] = ["d", "a", "b", "c"]
Quindi le permutazioni possono essere composte come funzioni.
(4 1 2 3)(2 1 3 4) = (4 2 1 3)
Ciò comporta molte proprietà interessanti. Oggi ci stiamo concentrando sulla coniugazione . Permutazioni y ed x (entrambi dimensione n ) sono coniugati sse ci sono permutazioni g e g -1 (anche di dimensione n ) tale che
x = gyg-1
e gg -1 è uguale alla permutazione dell'identità (i primi n numeri nell'ordine corretto).
Il tuo compito è prendere due permutazioni della stessa dimensione tramite metodi di input standard e decidere se sono coniugati. Dovresti generare uno di due valori coerenti, uno se sono coniugati e l'altro se non lo sono.
Questo è code-golf, quindi le risposte verranno classificate in byte con un numero inferiore di byte migliori.
Ci sono molti teoremi sulle permutazioni coniugate che sono a vostra disposizione, quindi buona fortuna e buon golf.
Puoi prendere l'input come contenitore ordinato di valori (1-n o 0-n) che rappresenta la permutazione come sopra, o come una funzione che prende un contenitore ordinato ed esegue la permutazione. Se scegli di assumere la funzione, dovresti prenderlo come argomento anziché averlo con un nome predefinito.
Casi test
(1) (1) -> True
(1 2) (2 1) -> False
(2 1) (2 1) -> True
(4 1 3 2) (4 2 1 3) -> True
(3 2 1 4) (4 3 2 1) -> False
(2 1 3 4 5 7 6) (1 3 2 5 4 6 7) -> True