死胡同
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
给定一个二维迷宫,该迷宫将被视为一个大小为 的网格。一些单元格中有障碍物,无法到达,用1
表示;能到达的点则用0
表示。迷宫的起点是 ,终点是。迷宫当然是能从起点走到终点的,所以我们保证迷宫的第一列和最后一列没有障碍物,并且一定存在一条路径能从 起点走到终点。
您可以使用任意次移动操作从起点到达终点。 移动操作包括:
W
向上走一步,即从 走到S
向下走一步,即从 走到- 向右走一步,即从走到
如果题目到这里结束未免太简单了,所以我们引入一个视距的概念。给定视距K
,当您在点时,您能看见第列到第 列所有网格信息,用数学语言表示为$${(U, V) \mid 1 \leq U \leq N, Y \leq V \leq \min (Y+K, M)}$$
在我们能看到的范围内,如果我们提前知道执行一次移动操作会使我们走不到终点,我们当然就不会选择这么走。但是即使这样,最终仍可能走进“死胡同”,无法到达终点。
如果可能走进“死胡同”,输出Yes
,否则输出No
。
输入格式
输入的第一行包含一个正整数 (),表示测试用例的数量。每个测试用例如下所述。
每个测试用例的第一行包含三个正整数 (,),分别表示地图的尺寸参数和可见范围参数。
接下来的 行中每行包含一个长度为 的二进制字符串 ,表示迷宫第 行的障碍物信息。这里,当且仅当在位置 有障碍物时,。输入保证第一列和最后一列中没有障碍物,且从 到 存在一条路径。
保证所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,如果存在满足问题所述条件,则在一行中Yes
;否则,输出 No
。
输入输出样例
6
3 5 2
00010
01110
00000
3 5 3
00010
01110
00000
3 5 2
01000
01110
00000
3 5 2
00000
01110
00000
3 5 2
01010
01110
00000
5 5 2
00000
00110
00010
01010
00010
Yes
No
No
No
No
Yes
提示
样例解释 对于第一个测试样本,位于处时的可见度信息可以用以下矩阵表示:
000??
011??
000??
根据这些信息,不能排除从开始到达的可能性。然而事实上无法从移动到。除最后一个测试样本外,其他测试样本中,不会因为视线限制而无法到达终点,也不会遇到”死胡同“。