O tornado da matriz é como qualquer outro tornado: consiste em coisas que giram em torno de um centro. Nesse caso, elementos da matriz em vez de ar.
Aqui está um exemplo de um furacão da matriz:
Primeiro, começamos o corte da matriz em anéis quadrados, cada seção consiste em elementos que estão mais distantes da borda pela mesma distância. Essas seções serão giradas no sentido horário em torno do centro. Em tornados reais, a gravidade aumenta em direção ao centro, assim como a etapa de rotação em um tornado de matriz: a seção mais externa (a vermelha) é girada em 1 etapa, a próxima (a amarela) é girada por 2, e assim em. Um passo de rotação é uma rotação de 90 ° em torno do centro.
Tarefa:
Sua tarefa, se você a aceitar, é escrever uma função ou programa que tome como entrada uma matriz quadrada, aplique o efeito tornado a ela e, em seguida, produza a matriz resultante.
Entrada:
A entrada deve ser uma matriz quadrada de ordem n
onde n >= 1
. Nenhuma suposição deve ser feita sobre os elementos da matriz, eles podem ser qualquer coisa.
Saída:
Uma matriz quadrada da mesma ordem que seria o resultado da aplicação do efeito tronado à matriz de entrada.
Exemplos:
Uma matriz de ordem n = 1
:
[['Hello']] ===> [['Hello']]
Uma matriz de ordem n = 2
:
[[1 , 2], ===> [[5 , 1],
[5 , 0]] [0 , 2]]
Uma matriz de ordem n = 5
:
[[A , B , C , D , E], [[+ , 6 , 1 , F , A],
[F , G , H , I , J], [- , 9 , 8 , 7 , B],
[1 , 2 , 3 , 4 , 5], ===> [/ , 4 , 3 , 2 , C],
[6 , 7 , 8 , 9 , 0], [* , I , H , G , D],
[+ , - , / , * , %]] [% , 0 , 5 , J , E]]
;)