#jwall. 2026暑假CSP-J模拟赛03-T1 程老师的拼图墙

2026暑假CSP-J模拟赛03-T1 程老师的拼图墙

时间限制:1000ms 内存限制:512MB

题目描述

程老师有一面拼图墙,由 n×nn \times n 块瓷砖拼成。每块瓷砖上印着一个编号,从上到下、从左到右排成一个方阵。

程老师有一种独特的拧砖手法。他会先在墙上选定一块 k×kk \times k 的正方形区域——只需要说出这个区域左上角所在的行号和列号,再加上边长 kk,就能唯一确定要拧哪块。然后,他把这 k×kk \times k 块瓷砖当作一个整体,顺时针旋转 90 度

具体来说,旋转前左上角的那块瓷砖会跑到右上角去,右上角的跑到右下角,右下角的跑到左下角,左下角的跑到左上角。其余瓷砖也按照同样的规律转动,整个子方阵就像一个被拧了一下的拼图块。

这个手法可以反复使用。程老师一共拧了 mm 次,每次选定的区域可以不同,大小也可以不同,每一次操作都是基于当前墙面的状态进行的。

现在,请你根据初始墙面和程老师的 mm 次操作,输出最终的墙面状态。

输入格式

第一行两个整数 n,mn, m,分别表示墙面的边长和操作次数。

接下来 nn 行,每行 nn 个整数,表示初始墙面。第 ii 行第 jj 个数表示第 ii 行第 jj 列瓷砖上的编号。

接下来 mm 行,每行三个整数 x,y,kx, y, k,表示一次操作:选定左上角在第 xx 行第 yy 列、边长为 kk 的子方阵,将其顺时针旋转 90 度。

输出格式

输出 nn 行,每行 nn 个整数,表示最终的墙面。同一行的整数之间用一个空格隔开。

数据范围

测试点 nn \le mm \le 特殊性质
1 3
2~3 10 A
4~6 20
7~10 30 50
11~12 50 100 B
13~16
17~20
  • 特殊性质 A:所有操作的 k=1k = 1
  • 特殊性质 B:所有操作的 x=y=1x = y = 1k=nk = n
  • 瓷砖编号为不超过 10910^9 的正整数。
  • 保证 1xnk+11 \le x \le n - k + 11ynk+11 \le y \le n - k + 1,即选定的子方阵不会超出墙面范围。

样例

样例 1

输入:

3 2
1 2 3
4 5 6
7 8 9
1 1 2
2 2 2

输出:

4 1 3
5 8 2
7 9 6

样例 2

输入:

2 1
1 2
3 4
1 1 1

输出:

1 2
3 4

样例 3

输入:

2 1
1 2
3 4
1 1 2

输出:

3 1
4 2

样例解释

样例 1: 第一次操作选定左上角(行 1 列 1)、边长 2 的子方阵,即 1、2、4、5 四块瓷砖。顺时针旋转后,1 转到右上角(原来 2 的位置),2 转到右下角(原来 5 的位置),5 转到左下角(原来 4 的位置),4 转到左上角(原来 1 的位置)。墙面变为:

4 1 3
5 2 6
7 8 9

第二次操作选定左上角(行 2 列 2)、边长 2 的子方阵,即 2、6、5、8。顺时针旋转后,墙面变为:

4 1 3
5 8 2
7 9 6

样例 2: 唯一的操作边长为 1。墙面没有任何变化,输出和输入相同。

样例 3: 整面墙(2×22 \times 2)被顺时针旋转。左上角的 1 转到右上角,右上角的 2 转到右下角,右下角的 4 转到左下角,左下角的 3 转到左上角。最终墙面为:

3 1
4 2
难度 普及-
通过率 60%
尝试 5
已通过 3
ID
691
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者

相关

在下列比赛中:

暑假CSP-J模拟赛 第3场