CF1439A1 Binary Table (Easy Version)
题目描述
这是该问题的简单版本。不同版本的区别在于可进行操作的次数。只有在你解决了两个版本的问题后,才能进行 hack。
给定一个 $n \times m$ 的二进制表格。该表格由 $0$ 和 $1$ 组成。
你可以进行如下操作:选择属于同一个 $2 \times 2$ 子方阵的 $3$ 个不同的格子,并将这三个格子的符号翻转(即 $0$ 变为 $1$,$1$ 变为 $0$)。
你的任务是将表格中的所有符号都变为 $0$。你最多可以进行 $3nm$ 次操作。你不需要最小化操作次数。
可以证明,总是存在一种方案可以完成任务。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 5000$),表示测试用例的数量。接下来的若干行描述每个测试用例。
每个测试用例的第一行包含两个整数 $n$、$m$($2 \leq n, m \leq 100$)。
接下来的 $n$ 行,每行包含一个长度为 $m$ 的二进制字符串,描述表格的每一行。
保证所有测试用例中 $nm$ 的总和不超过 $20000$。
输出格式
对于每个测试用例,输出一个整数 $k$($0 \leq k \leq 3nm$),表示操作次数。
接下来的 $k$ 行,每行输出 $6$ 个整数 $x_1, y_1, x_2, y_2, x_3, y_3$($1 \leq x_1, x_2, x_3 \leq n, 1 \leq y_1, y_2, y_3 \leq m$),表示一次操作。该操作会对 $(x_1, y_1)$、$(x_2, y_2)$、$(x_3, y_3)$ 这三个格子进行翻转。这三个格子必须不同,且都属于同一个 $2 \times 2$ 子方阵。
说明/提示
在第一个测试用例中,只需对 $(1, 1)$、$(2, 1)$、$(2, 2)$ 这三个格子进行一次操作,之后所有符号都为 $0$。
在第二个测试用例中:
- 对 $(2, 1)$、$(3, 1)$、$(3, 2)$ 进行操作后,表格变为:
```
011
001
000
```
- 再对 $(1, 2)$、$(1, 3)$、$(2, 3)$ 进行操作后,表格变为:
```
000
000
000
```
在第五个测试用例中:
- 对 $(1, 3)$、$(2, 2)$、$(2, 3)$ 进行操作后,表格变为:
```
010
110
```
- 再对 $(1, 2)$、$(2, 1)$、$(2, 2)$ 进行操作后,表格变为:
```
000
000
```
由 ChatGPT 4.1 翻译