Матричний торнадо такий же, як і будь-який інший смерч: він складається з речей, що обертаються навколо центру. У цьому випадку елементи матриці замість повітря.
Ось приклад матричного торнадо:
Спочатку почнемо з розбиття матриці на квадратні кільця, кожен розділ складається з елементів, що знаходяться далі від межі на однаковій відстані. Ці секції будуть обертатися за годинниковою стрілкою навколо центру. У справжніх смерчах різкість збільшується у напрямку до центру, і так відбувається крок обертання в матричному торнадо: зовнішній відрізок (червоний) обертається на 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]]
;)