Ti viene dato un quadrato matrice e un elenco (o vettore) di lunghezza contenente i numeri da a (o da a ). Il tuo compito è riordinare le colonne e le righe della matrice secondo l'ordine specificato in .
Cioè, si costruisce una matrice in cui il elemento -esimo è il elemento -esimo di . Dovresti anche generare l'inverso di questa azione; cioè, il (i, j) -esimo elemento di finirà nella posizione in una nuova matrice .
Ad esempio, dato
l'output dovrebbe essere
È possibile accettare input e output tramite uno dei metodi I / O predefiniti. Non è necessario specificare quale matrice è o , purché vengano emessi entrambi. Si può assumere contiene solo numeri interi positivi, e si può utilizzare l'indicizzazione a 1 o 0-based per . È necessario supportare matrici fino a una dimensione minima di .
Esempio
===== Input =====
A =
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11
u=
3 5 6 1 4 2
==== Output =====
B =
2 27 20 31 22 9
34 14 16 30 12 5
29 18 11 4 13 36
6 19 24 35 26 1
33 10 15 8 17 28
7 23 25 3 21 32
C =
17 15 8 10 28 33
13 11 4 18 36 29
26 24 35 19 1 6
12 16 30 14 5 34
21 25 3 23 32 7
22 20 31 27 9 2
0
come separatore?
u = [2, 0, 1]
?