2025年蓝桥杯青少省赛-t4
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
矩阵圈层交错旋转问题
问题描述
给定一个 n x n 的二维整数矩阵,需要对矩阵的每一“圈层”进行交错旋转(顺时针和逆时针交替)。具体规则如下:
-
圈层定义:
- 从最外层开始向内逐层定义,最外层为第1圈层,向内依次为第2圈层、第3圈层等。
- 若 n 为奇数,最中心的单个元素为最内层圈层,且不旋转(值不变)。
-
旋转方向:
- 第1圈层:顺时针旋转90度。
- 第2圈层:逆时针旋转90度。
- 第3圈层:顺时针旋转90度。
- 以此类推,方向交替进行。
-
旋转范围:
- 每圈层的旋转仅影响该圈层内的元素。
示例
-
输入(n=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
-
解释:
- 第1圈层(最外层)顺时针旋转90度。
- 第2圈层(内层)逆时针旋转90度。
输入要求
- 第一行输入一个正整数 n(2 ≤ n ≤ 100),表示矩阵的行数和列数。
- 接下来 n 行,每行输入 n 个整数(-1000 ≤ 整数 ≤ 1000),表示矩阵元素,整数间用空格隔开。
输出要求
输出 n 行,每行 n 个整数,表示旋转后的矩阵,整数间用空格隔开。
关键点
- 圈层划分:按从外到内的顺序逐层处理。
- 旋转方向交替:奇数圈层顺时针,偶数圈层逆时针。
- 中心元素:若 n 为奇数,中心元素不旋转。
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