#1149. 矩阵圈层 90 度交错旋转

矩阵圈层 90 度交错旋转

题目描述

给定一个n×nn\times n”的二维整数矩阵,你需要对这个矩阵的每一“圈层”的元素进行交错旋转,规则如下:

圈层的定义:

  • 矩阵从最外层开始,向内逐层定义“圈层”。最外层的元素构成第一圈层,移除最外层后剩余矩阵的最外层元素构成第二圈层,以此类推。
  • 如果n 为奇数,最中心的一个元素属于最内层的圈层,且旋转后其值不改变。

旋转方向:

  • 最外层(第一圈层)的元素按顺时针方向整体旋转 90°。
  • 次外层(第二圈层)的元素按逆时针方向整体旋转 90°。
  • 再往内一层(第三圈层)的元素按顺时针方向整体旋转 90°。
  • 以此类推,圈层的旋转方向在顺时针和逆时针之间交替进行。

旋转范围:

  • 每一圈层的旋转仅限于该圈层内的元素。

例如:一个6×66\times 6矩阵的圈层和旋转方向定义如下:

11399

例如: n=4,原始矩阵经过圈层交错旋转后结果如下:

11400

输入描述

第一行输入一个正整数n(2 ≤ n ≤ 100),表示矩阵的行数和列数;

接下来n行,每行输入n个整数(-1000 ≤ 整数 ≤1000),整数之间以一个空格隔开。

输出描述

输出交错旋转以后的矩阵

样例

4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
13 9 5 1
14 7 11 2
15 6 10 3
16 12 8 4

提示

本题共有10组测试用例,每通过一组用例得6分。