AT_chokudai_001_a 高橋君の山崩しゲーム
题目描述
高桥君设计了一款游戏。
- 游戏开始时,有一个 $30 \times 30$ 的网格,每个格子中写有一个整数,范围从 $1$ 到 $100$。
- 游戏中,通过重复进行下列动作来完成任务,每一系列动作称为“一次操作”:
- **步骤 1**:选择一个格子,进入步骤 2。
- **步骤 2**:将该格子中的数值减 $1$,进入步骤 3。
- **步骤 3**:从选择的格子的上下左右四个相邻格子中,如果某个格子的数值恰好为当前选择格子的新数值(即原数值减 $1$)且不为 $0$,你可以选择该格子并返回步骤 2。若没有选择则这次操作结束。
- 游戏目标是在尽可能少的操作次数内将所有格子的数值变为 $0$。
高桥君希望能够尽量减少操作次数。请帮他编写一个程序,输出每一步操作选择哪一个格子。
输入格式
输入是通过标准输入提供的,以以下形式给出:
- 共 $30$ 行,每行包含 $30$ 个整数,表示网格中每个格子的数值。
- 第 $i$ 行第 $j$ 个整数代表第 $i$ 行第 $j$ 列格子的数值 $A_{i,j}$,其中 $1 \le A_{i,j} \le 100$。数值是在 $1$ 至 $100$ 的范围内随机且等概率选出来的。
输出格式
依次输出高桥君在每步操作时选择的格子的行和列,格式是以空格分隔,无需在不同操作之间加分隔符。输出的末尾需要换行。
说明/提示
### 评分机制
测试将包含 $10$ 个用例,每个用例都会独立打分。
若用例输出正确,得分将为 $100000 - \text{操作次数}$。
所有用例的总得分即为这份答案的最终得分。
### 样例说明 1
以下为一个小规模的 $3 \times 3$ 示例,尽管它不符合约束条件:
- 第一次操作选择 $(2,2)$、$(1,2)$、$(1,3)$,得到如下状态:
```plaintext
2 2 1
1 3 2
3 1 2
```
- 第二次操作仍然选择 $(2,2)$、$(1,2)$、$(1,3)$,最终如下所示:
```plaintext
2 1 0
1 2 2
3 1 2
```
- 第三次操作选择 $(3,3)$、$(3,2)$,形成如下状态:
```plaintext
2 1 0
1 2 2
3 0 1
```
- 过程不断重复,最终该输出示例使用 $12$ 次操作完成目标,因此得分为 $99988$。
### 样例说明 2
此输入示例不包含在测试用例中。
**本翻译由 AI 自动生成**