B. 矩阵旋转

    传统题 1000ms 512MiB

矩阵旋转

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

题目描述

给定一个 NNNN 列的方阵网格(NN 保证为偶数),网格的每一个格子都是黑色或白色的,用 # 表示黑色,. 表示白色。

现在小蓝要对这个方阵执行共 N2\dfrac{N}{2} 次旋转操作,第 ii 次操作(ii11N2\dfrac{N}{2})的规则是:

  • 对于所有位于第 ii 层的螺旋环上的格子,把它们统一向右旋转 9090 度。

具体来说,对于所有满足 ix,yN+1ii \le x, y \le N+1-i 的整数对 (x,y)(x,y),同时将新位置 (y,N+1x)(y, N+1-x) 的格子颜色替换为原位置 (x,y)(x,y) 的格子颜色。

以下是 N=6N=6 时,旋转范围示意图:

                       \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \

所有替换操作是同时进行的,不会互相影响。请你输出经过所有 N2\dfrac{N}{2} 轮操作之后的最终方阵。

输入格式

第一行一个正整数 NN,表示方阵的大小。保证 NN 是偶数。

接下来 NN 行,每行是一个长度为 NN 的字符串,由 #. 组成,表示初始的方阵。

输出格式

输出 NN 行,每行一个长度为 NN 的字符串,表示旋转操作完成之后的最终方阵。

4
.#..
...#
..#.
#..#
#...
.#.#
....
#.#.

样例 1 解释

如图所示旋转过程:

6
.#.#.#
##.#..
...###
###...
..#.##
#.#.#.
#.#.#.
.#.#.#
#.#.#.
.#.#.#
#.#.#.
.#.#.#
12
.......#.###
#...#...#..#
###.#..#####
..#.#.#.#...
.#.....#.###
.......#.#..
#...#..#....
#####.......
...#...#.#.#
..###..#..##
#..#.#.#.#.#
.####.......
.#..##...##.
#.#.#.#.#...
###.##..#...
#.#.#.#.#...
#.#.##...##.
............
............
.###.###.###
...#...#.#..
.###...#.###
...#...#...#
.###...#.###
8
.......#
.......#
.####..#
.####..#
.##....#
.##....#
.#######
.#######
........
#######.
#.....#.
#.###.#.
#.#...#.
#.#####.
#.......
########

数据规模与约定

对于全部的测试点,保证:

  • 2N30002 \le N \le 3000,且 NN 是偶数
  • 输入的字符串仅由字符 #. 组成

2026CSP-J模拟赛2

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-7-12 18:30
结束于
2026-7-12 21:00
持续时间
2.5 小时
主持人
参赛人数
12