Você recebe um quadrado matriz e uma lista (ou vetor) de comprimento contendo os números 1 a n (ou 0 a n-1 ). Sua tarefa é reordenar as colunas e linhas da matriz A de acordo com a ordem especificada em u .
Isto é, vai construir uma matriz de , onde a elemento -ésimo é o elemento -ésimo de . Você também deve gerar o inverso dessa ação; isto é, a (i, j) -ésimo elemento de vai acabar na posição em uma nova matriz .
Por exemplo, dado
a saída deve ser
Você pode obter entrada e saída através de qualquer um dos métodos de E / S padrão. Você não precisa especificar qual matriz é ou , desde que você produza as duas. Você pode assumir que contém apenas números inteiros positivos e pode usar a indexação baseada em 1 ou 0 para . Você deve suportar matrizes até pelo menos tamanho .
Exemplo
===== 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
como separador?
u = [2, 0, 1]
?