传统题 1000ms 256MiB

交错旋转

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

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

圈层的定义:

  • 矩阵从最外层开始,向内逐层定义“圈层”。最外层的元素构成第一圈层,移除最外层后剩余矩阵的最外层元素构成第二圈层,以此类推。

  • 如果 nn 为奇数,最中心的一个元素属于最内层的圈层,且旋转后其值不改变。

旋转方向:

  • 最外层(第一圈层)的元素按顺时针方向整体旋转 9090^\circ

  • 次外层(第二圈层)的元素按逆时针方向整体旋转 9090^\circ

  • 再往内一层(第三圈层)的元素按顺时针方向整体旋转 9090^\circ

  • 以此类推,圈层的旋转方向在顺时针和逆时针之间交替进行。

旋转范围:

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

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

例如:

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

输入描述

第一行输入一个整数n(2n100)n( 2 \le n \le 100)

接下来输入一个n×nn \times n的矩阵,1000ai,j1000-1000 \le a_{i,j} \le 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

第十六届蓝桥杯青少年省赛中级组(复现赛)

未参加
状态
已结束
规则
IOI
题目
6
开始于
2025-8-11 16:30
结束于
2025-8-15 19:30
持续时间
3 小时
主持人
参赛人数
16