Матричный торнадо, как и любой другой торнадо, состоит из вещей, вращающихся вокруг центра. В этом случае элементы матрицы вместо воздуха.
Вот пример матричного торнадо:
Сначала мы разбиваем матрицу на квадратные кольца, каждая секция состоит из элементов, которые находятся дальше от границы на одинаковое расстояние. Эти секции будут вращаться по часовой стрелке вокруг центра. В реальных торнадо серьезность возрастает по направлению к центру, как и шаг вращения в матричном торнадо: крайняя часть (красная) поворачивается на 1 шаг, следующая (желтая) - на 2, и так на. Шаг вращения - это поворот на 90 ° вокруг центра.
Задача:
Ваша задача, если вы примете это, - написать функцию или программу, которая принимает в качестве входных данных квадратную матрицу, применять к ней эффект торнадо и затем выводить полученную матрицу.
Входные данные:
На входе должна быть квадратная матрица порядка n
где n >= 1
. Не следует делать никаких предположений об элементах матрицы, они могут быть чем угодно.
Выход:
Квадратная матрица того же порядка, которая будет результатом применения эффекта тронадо к входной матрице.
Примеры:
Матрица заказа n = 1
:
[['Hello']] ===> [['Hello']]
Матрица заказа n = 2
:
[[1 , 2], ===> [[5 , 1],
[5 , 0]] [0 , 2]]
Матрица заказа 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]]
;)