#agc006e. [agc006_e]Rotate 3x3
[agc006_e]Rotate 3x3
问题描述
我们有一个 行 列的网格。网格中第 行第 列的单元格表示为 (, )。最初,每个单元格 (, ) 包含整数 。
的网格
Snuke可以进行以下任意次操作之一:
- 选择一个 的子矩形网格。现在,子矩形网格内的整数摆放发生 旋转。
操作序列示例(每个选定的子矩形以蓝色显示)
Snuke的目标是通过操作网格,使得每个单元格 (, ) 包含整数 。确定是否可以实现这个目标。
约束条件
- 所有 互不相同。
输入
输入的格式如下所示,从标准输入给出:
输出
如果可以达到 Snuke 的目标,输出 Yes
。否则,输出 No
。
样例输入 1
5
9 6 15 12 1
8 5 14 11 2
7 4 13 10 3
样例输出 1
Yes
该样例对应于题目描述中的图示。
样例输入 2
5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
样例输出 2
No
样例输入 3
5
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
样例输出 3
Yes
通过初始整数的摆放方式已经达到了目标。
样例输入 4
6
15 10 3 4 9 16
14 11 2 5 8 17
13 12 1 6 7 18
样例输出 4
Yes
样例输入 5
7
21 12 1 16 13 6 7
20 11 2 17 14 5 8
19 10 3 18 15 4 9
样例输出 5
No