给定一个 n × n 的二维整数矩阵,需要对矩阵的每一圈层进行交错旋转(顺时针和逆时针交替),具体规则如下: 圈层定义: 从最外层开始向内逐层定义,最外层为第1圈层,向内依次为第2圈层、第3圈层等。 若 n 为奇数,最中心的单个元素为最内圈层,且不旋转(值不变)。 旋转方向: 第1圈层:顺时针旋转90度。 第2圈层:逆时针旋转90度。 第3圈层:顺时针旋转90度。 以此类推,方向交替进行。 旋转范围: 每圈层的旋转仅影响该圈层内的元素。
解释: 第1圈层(最外层)顺时针旋转90度。 第2圈层(内层)逆时针旋转90度。
输入要求: 第一行输入一个正整数 n(2 ≤ n ≤ 100),表示矩阵的行数和列数。 接下来 n 行,每行输入 n 个整数(-10000 ≤ 数值 ≤ 10000),表示矩阵元素,整数间用空格隔开。
输出要求: 输出 n 行,每行 n 个整数,表示旋转后的矩阵,整数间用空格隔开。
4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
13 9 5 1 14 6 7 2 15 10 11 3 16 12 8 4
示例: 输入(n=4): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输出: 13 9 5 1 14 6 7 2 15 10 11 3 16 12 8 4 关键点: 圈层划分:按从外到内的顺序逐层处理。 旋转方向交替:奇数圈层顺时针,偶数圈层逆时针。 中心元素:若 n 为奇数,中心元素不旋转。 数据范围: 矩阵大小:2^2 到 102×102。 元素值范围:-10^9 到 10^9。