#codefestivalchinai. [code_festival_china_i]Obstruction
[code_festival_china_i]Obstruction
问题
有一个 的二维网格。 表示从左边数第 行第 列的方格。其中一些方格被涂成黑色,其他方格被涂成白色。
初始时你位于 ,你想要走到 。然而,有一个叫做 Mr.X 的陌生人试图阻挠你到达 的路线。
你和 Mr.X 轮流移动。初始时,Mr.X 先开始移动。在每一轮中,每个人可以按照以下方式移动:
- Mr.X 移动到与你所在方格相邻的白色方格中的一个。如果没有 Mr.X 可以移动到的方格,Mr.X 在该轮中消失。
- 你可以移动到与你所在方格相邻的方格中的一个,这个方格 Mr.X 上个回合没有移动到过。
换句话说,你可以移动到相邻的方格中的一个。但在你移动之前,Mr.X 会选择一个可能的移动,并将其阻塞。然而,Mr.X 无法阻挡你移动到一个黑色方格。
你将获得每个方格的颜色。确定无论 Mr.X 如何阻止你的路径,你是否可以到达 。
输入
…
…
:
…
- 第一行给出一个整数 (),表示网格的大小。
- 接下来的 行中,每行表示一个方格的颜色。每行由
.
和#
组成。第 行第 列的字符表示 方格的颜色。当字符为.
时,表示 方格是白色的。当字符为#
时,表示 方格是黑色的。
输出
如果无论 Mr.X 如何阻碍你的路线,你都可以到达 ,输出 YES
。否则,输出 NO
。(都不包含句号)
请确保在输出末尾插入一个换行符。
输入示例 1
4
..##
...#
#..#
####
输出示例 1
YES
如果 Mr.X 在他的第一次移动时阻塞了 ,你可以移动到 。之后你可以顺着黑色方格走到达 。
如果 Mr.X 阻塞了 ,你可以移动到 ,然后顺着黑色方格走到达 。
因此,无论 Mr.X 如何阻碍,你都可以到达 。答案是 YES
。
输入示例 2
4
..##
....
#..#
####
输出示例 2
NO
在这种情况下,当你在 时,Mr.X 可以阻止 。如果 Mr.X 对他的最佳策略按照这样做,你就无法到达 。答案是 NO
。
输入示例 3
2
.#
#.
输出示例 3
NO
在这种情况下,Mr.X 可以阻挡 。