On vous donne un carré matrice , et une liste (ou vecteur) de longueur contenant les nombres à (ou à ). Votre tâche consiste à réorganiser les colonnes et les lignes de la matrice selon l'ordre spécifié en .
Autrement dit, on va construire une matrice où le -ième élément est le -ième élément de . Vous devez également sortir l'inverse de cette action; Autrement dit, la (i, j) -ième élément de finira à la position dans une nouvelle matrice .
Par exemple, étant donné
la sortie doit être
Vous pouvez accepter l'entrée et la sortie via l'une des méthodes d'E / S par défaut. Vous n'avez pas besoin de spécifier quelle matrice est ou , tant que vous sortez les deux. Vous pouvez supposer que ne contient que des entiers positifs et vous pouvez utiliser une indexation basée sur 1 ou 0 pour . Vous devez prendre en charge les matrices jusqu'à au moins la taille .
Exemple
===== 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
comme séparateur?
u = [2, 0, 1]
?