AT_past18_j 反転ゲーム
题目描述
有一个由 $H$ 行 $W$ 列组成的网格。自上而下第 $i$ 行、从左至右第 $j$ 列的单元格记作 $(i, j)$。
初始时,如果 $S_{i,j}$ 为 `.`,则单元格 $(i, j)$ 为白色;如果为 `#`,则为黑色。
你起始位于单元格 $(1,1)$。你可以向上、下、左、右四个方向移动到相邻的单元格,不能走出网格。
每当你行动一次,你踩到的那个单元格颜色会发生翻转(白变黑,黑变白)。
你的目标是让所有单元格都变为白色。请你求出所需的最少移动步数。
可证明在给定的约束下,你总能够将所有单元格变为白色。
输入格式
输入从标准输入读入,格式如下:
> $H$ $W$ \\
> $S_{1,1}\ldots S_{1,W}$ \\
> $\vdots$ \\
> $S_{H,1}\ldots S_{H,W}$
输出格式
输出答案。
说明/提示
### 样例解释 1
通过四步移动 $ (1,1)\to(1,2)\to(2,2)\to(3,2)\to(2,2) $,可以使所有单元格变为白色。
### 样例解释 2
所有单元格初始即为白色,因此不需要任何移动。
### 约束条件
- $1 \leq H,W \leq 4$
- $H\times W\geq 2$
- $H$ 和 $W$ 是整数。
- $S_{i,j}$ 是 `.` 或 `#`。
由 ChatGPT 5 翻译