Tornado matriks sama seperti tornado lainnya: ia terdiri dari benda-benda yang berputar di sekitar pusat. Dalam hal ini, elemen-elemen dari matriks bukan udara.
Berikut adalah contoh tornado matriks:
Pertama kita mulai dengan membagi matriks menjadi cincin persegi, setiap bagian terdiri dari elemen yang lebih jauh dari perbatasan dengan jarak yang sama. Bagian-bagian ini akan diputar searah jarum jam di sekitar tengah. Dalam tornado nyata, tingkat keparahan meningkat ke arah pusat, dan begitu juga langkah rotasi dalam tornado matriks: bagian terluar (yang merah) diputar oleh 1 langkah, yang berikutnya (kuning) diputar oleh 2, dan seterusnya di. Langkah rotasi adalah rotasi 90 ° di sekitar pusat.
Tugas:
Tugas Anda, jika Anda menerimanya, adalah menulis fungsi atau program yang mengambil sebagai input matriks kuadrat, menerapkan efek tornado padanya dan kemudian output matriks yang dihasilkan.
Memasukkan:
Input harus berupa matriks kuadrat pesanan di n
mana n >= 1
. Tidak ada asumsi yang dibuat tentang elemen-elemen matriks, mereka bisa apa saja.
Keluaran:
Matriks kuadrat dari urutan yang sama yang akan menjadi hasil menerapkan efek tronado ke matriks input.
Contoh:
Matriks pesanan n = 1
:
[['Hello']] ===> [['Hello']]
Matriks pesanan n = 2
:
[[1 , 2], ===> [[5 , 1],
[5 , 0]] [0 , 2]]
Matriks pesanan 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]]
;)