#4971. Rotation Puzzle
0
Rotation Puzzle
Rotation Puzzle
题目描述
有一个 行 列的网格。初始时,整数 到 的每一个都恰好写在网格中的某个单元格上。
具体地,对于 和 ,从上数第 行、从左数第 列的单元格包含 。
下面记号 表示从上数第 行、从左数第 列的单元格。
判断是否可以通过重复以下操作 最多 次(也可以是零次)达到这样一种状态:对所有整数对 ,
单元格 包含整数 。如果可以,输出所需操作次数的最小值。
如果在 次或更少操作内不可能(包括无论重复多少次该操作都不可能的情况),输出 。
操作:从网格中选择一个大小为 $(H-1) \times (W-1)$ 的矩形并将其旋转 $180$ 度。注意只要求单元格中写的整数满足条件;书写的方向不影响。
更精确地,选择整数 $x$ 和 $y$ $(0 \leq x, y \leq 1)$,
并对所有满足 $1 \leq i \leq H-1$ 且 $1 \leq j \leq W-1$ 的整数对 $(i,j)$,
同时将写在单元格 $(i+x,j+y)$ 的整数替换为写在单元格 $(H-i+x,W-j+y)$ 的数。
输入格式
输入从标准输入给出,格式如下:
输出格式
输出使问题陈述中条件成立所需的最小操作次数。
如果在 次或更少操作内无法满足条件,输出 。
3 3
9 4 3
2 1 8
7 6 5
2
4 6
15 18 1 14 3 4
23 24 19 8 9 12
13 2 17 6 5 16
21 22 7 20 11 10
-1
4 6
1 4 13 16 15 18
21 20 9 12 23 10
17 14 5 6 3 2
11 22 7 24 19 8
20
4 3
1 2 3
4 5 6
7 8 9
10 11 12
0
提示
如果 ,则 所有输入值均为整数。按以下顺序操作可以在 次操作内满足问题陈述中的条件。
先选择左上角的矩形进行操作。也就是选择 且 。 再选择右下角的矩形进行操作。也就是选择 且 。
另一方面,无法在一次或更少的操作内满足条件,所以输出 。

在 次或更少的操作内无法满足条件,所以输出 。
标签: AtCoder|abc336F
来源
AtCoder|abc336F