CF1421B.Putting Bricks in the Wall

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Pink Floyd are pulling a prank on Roger Waters. They know he doesn't like walls, he wants to be able to walk freely, so they are blocking him from exiting his room which can be seen as a grid.

Roger Waters has a square grid of size n×nn\times n and he wants to traverse his grid from the upper left (1,11,1) corner to the lower right corner (n,nn,n). Waters can move from a square to any other square adjacent by a side, as long as he is still in the grid. Also except for the cells (1,11,1) and (n,nn,n) every cell has a value 00 or 11 in it.

Before starting his traversal he will pick either a 00 or a 11 and will be able to only go to cells values in which are equal to the digit he chose. The starting and finishing cells (1,11,1) and (n,nn,n) are exempt from this rule, he may go through them regardless of picked digit. Because of this the cell (1,11,1) takes value the letter 'S' and the cell (n,nn,n) takes value the letter 'F'.

For example, in the first example test case, he can go from (1,11, 1) to (n,nn, n) by using the zeroes on this path: (1,11, 1), (2,12, 1), (2,22, 2), (2,32, 3), (3,33, 3), (3,43, 4), (4,44, 4)

The rest of the band (Pink Floyd) wants Waters to not be able to do his traversal, so while he is not looking they will invert at most two cells in the grid (from 00 to 11 or vice versa). They are afraid they will not be quick enough and asked for your help in choosing the cells. Note that you cannot invert cells (1,1)(1, 1) and (n,n)(n, n).

We can show that there always exists a solution for the given constraints.

Also note that Waters will pick his digit of the traversal after the band has changed his grid, so he must not be able to reach (n,nn,n) no matter what digit he picks.

平克·弗洛伊德乐队正在对罗杰·沃特斯(Roger Waters)搞恶作剧。他们知道他不喜欢墙,他希望可以自由行走,因此他们封锁了他房间的出口——该房间可建模为一个网格。

罗杰·沃特斯拥有一个大小为 n×nn\times n 的方格网格,他希望从左上角(坐标为 (1,1)(1,1))出发,走到右下角(坐标为 (n,n)(n,n))。沃特斯每次可向上下左右四个相邻格子之一移动(即仅允许四连通移动),但必须始终停留在网格内。此外,除起点 (1,1)(1,1) 和终点 (n,n)(n,n) 外,其余每个格子中均填有数字 00 或 11。

在开始移动前,他将预先选定 00 或 11 中的一个数字,并只能进入所选数字与该格子中数值相等的格子。起点 (1,1)(1,1) 和终点 (n,n)(n,n) 不受此限制——无论他选择哪个数字,均可自由进出这两个格子。因此,起点格子标记为字母 'S',终点格子标记为字母 'F'。

例如,在第一个样例测试用例中,他可通过如下由 0 组成的路径从 (1,1)(1,1) 到达 (n,n)(n,n):(1,1)(1, 1), (2,1)(2, 1), (2,2)(2, 2), (2,3)(2, 3), (3,3)(3, 3), (3,4)(3, 4), (4,4)(4, 4)。

乐队其他成员(平克·弗洛伊德)希望沃特斯无法完成此次穿越。因此,趁他不注意时,他们最多翻转(即 0↔10\leftrightarrow1)网格中两个格子的值。由于时间紧迫,他们请求你帮忙选定需翻转的格子。注意:你不能翻转格子 (1,1)(1,1) 和 (n,n)(n,n)。

在给定约束条件下,总存在可行解。

另外请注意:沃特斯是在乐队修改完网格之后才选定其穿越所用的数字;因此,无论他选择 00 还是 11,都必须无法到达 (n,n)(n,n)。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤501 \le t \le 50). Description of the test cases follows.

The first line of each test case contains one integers nn (3≤n≤2003 \le n \le 200).

The following nn lines of each test case contain the binary grid, square (1,11, 1) being colored in 'S' and square (n,nn, n) being colored in 'F'.

The sum of values of nn doesn't exceed 200200.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤501 \le t \le 50)。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(3≤n≤2003 \le n \le 200)。

每个测试用例的接下来 nn 行描述一个二进制网格,其中左上角格子 (1,1)(1, 1) 染为 'S',右下角格子 (n,n)(n, n) 染为 'F'。

所有测试用例中 nn 的总和不超过 200200。

输出格式

For each test case output on the first line an integer cc (0≤c≤20 \le c \le 2) — the number of inverted cells.

In ii-th of the following cc lines, print the coordinates of the ii-th cell you inverted. You may not invert the same cell twice. Note that you cannot invert cells (1,1)(1, 1) and (n,n)(n, n).

对于每个测试用例,在第一行输出一个整数 cc(0≤c≤20 \le c \le 2)—— 表示被翻转的格子数量。

在接下来的 cc 行中,第 ii 行输出第 ii 个被翻转格子的坐标。你不能重复翻转同一个格子。注意:你不能翻转格子 (1,1)(1, 1) 和 (n,n)(n, n)。

输入输出样例

  • 输入#1

    3
    4
    S010
    0001
    1000
    111F
    3
    S10
    101
    01F
    5
    S0101
    00000
    01111
    11111
    0001F

    输出#1

    1
    3 4
    2
    1 2
    2 1
    0

说明/提示

For the first test case, after inverting the cell, we get the following grid:

S010
0001
1001
111F

对于第一个测试用例,在翻转该单元格后,我们得到以下网格:

S010
0001
1001
111F

输入解题思路,AI测评打分。不知道怎么写?

首页