#qm05. 回文路径

回文路径

题目描述:

你拥有一个大小为 n×mn \times m0101 矩阵 aa。矩阵的行从上至下依次为第 11 到第 nn 行,列从左至右依次为第 11 到第 mm 列。矩阵中每个元素 ai,ja_{i,j} 的取值仅为 0011。 对于矩阵中的每一个位置 (i,j)(i,j),请你判断并回答以下问题: 从位置 (i,j)(i,j) 出发,是否存在一个非起点的位置 (x,y)(x,y),满足从 (i,j)(i,j)(x,y)(x,y) 的某一条简单路径上的元素按路径顺序拼接形成的字符串为回文串。 若存在满足条件的位置和路径,输出 Y,否则输出 N。每次回答相互独立,互不影响。

名词解释:

  • 回文串:若一个字符串从左向右读与从右向左读完全相同,则称其为回文串。
  • 简单路径:指由矩阵中若干个不重复的坐标点构成的序列 (p1,p2,,pk)(p_1, p_2, \dots, p_k),其中 pip_ipi+1p_{i+1} 相邻(上下左右距离为 11)。

输入格式:

输入第一行给出一个正整数 T(1T104)T (1 \leq T \leq 10^4),代表数据组数。 对于每组测试数据: 第一行包含两个整数 $n, m (1 \leq n, m \leq 10^6 且 1 \leq n \times m \leq 10^6)$,表示矩阵的大小。 随后 nn 行,每行输入一个长度为 mm 的字符串,由字符 0011 组成。 保证所有测试数据的 n×mn \times m 之和不超过 10610^6

输出格式:

对于每组测试数据,输出 nn 行,每行一个长度为 mm 的字符串。 若位置 (i,j)(i, j) 存在符合条件的回文简单路径,则对应位置输出 Y,否则输出 N

输入样例:

4
2 2
11
11
2 2
00
00
2 2
10
01
2 2
10
00

输出样例:

YY
YY
YY
YY
YY
YY
NY
YY

数据范围:

1T1041 \leq T \leq 10^4 1n,m1061 \leq n, m \leq 10^6 (n×m)106\sum (n \times m) \leq 10^6 每个位置的移动方向限制为:上下左右四个方向。