Podane są kwadratu macierzy oraz listy (lub wektor) o długości zawierające numery przez (lub przez ). Twoim zadaniem jest zmiana kolejności kolumn i wierszy macierzy zgodnie z kolejnością określoną w .
Oznacza to, że można skonstruować macierzy , gdzie -ty element to -ty element . Powinieneś także wypisać odwrotność tej akcji; to znaczy, że (i, j) -ty element kończy się w położeniu w nowej macierzy .
Na przykład, biorąc pod uwagę
wynikiem powinno być
Wejścia i wyjścia można pobierać dowolną z domyślnych metod we / wy. Nie musisz określać, która macierz jest lub , o ile wypisujesz oba. Możesz założyć, że zawiera tylko dodatnie liczby całkowite i możesz użyć indeksowania opartego na 1 lub 0 dla . Musisz obsługiwać macierze do rozmiaru co najmniej .
Przykład
===== 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
jako separatora?
u = [2, 0, 1]
?