AT_code_festival_china_i Obstruction

题目描述

在一个 $N \times N$ 的网格中,每个单元格要么是黑色的,要么是白色的。我们用 $(r, c)$ 来表示第 $r$ 行第 $c$ 列的单元格。初始时,您位于 $(1, 1)$,您的目标是走到 $(N, N)$。然而,有个叫 Mr.X 的人想方设法地阻挡您前进。 在游戏中,您和 Mr.X 轮流移动,游戏由 Mr.X 先开始。每次移动时,双方按如下规则进行: - Mr.X 每次可以移动到距离您当前位置一个相邻的白色方格上。如果没有白色方格可以移动,Mr.X 将暂时从棋盘中消失。 - 您可以选择移动到相邻的一个 Mr.X 在之前一轮没有阻挡的方格。同时,移动到任何一个黑色方格不受 Mr.X 的限制。 给出每个单元格的颜色信息,判断无论 Mr.X 如何阻挡,您是否总能到达 $(N, N)$。

输入格式

- 第一行为整数 $N$,表示网格大小,满足 $2 \leq N \leq 1000$。 - 接下来 $N$ 行,每行由 `.` 和 `#` 组成,表示第 $i$ 行各单元格的颜色。`.` 表示白色,`#` 表示黑色。

输出格式

如果您能够无论 Mr.X 如何阻挡总是到达 $(N, N)$,请输出 `YES`。如果不能,输出 `NO`。注意输出时不需添加标点符号,并在输出末尾加一个换行符。

说明/提示

### 示例解说 1 在初始阶段,如果 Mr.X 阻挡在 $(1, 2)$,您可以先移动到 $(2, 1)$,随后通过一系列黑色方格到达终点 $(4, 4)$。相反地,如果 Mr.X 阻挡 $(2, 1)$,您可以先移动到 $(1, 2)$,然后通过黑色方格到达 $(4, 4)$。因此,无论 Mr.X 如何阻挡,您总是可以到达终点。答案是 `YES`。 ### 示例解说 2 在这种情况下,每次您到达 $(1, c)$ 的位置时,Mr.X 都可以阻挡 $(2, c)$。如果 Mr.X 按照这种对他有利的方法进行阻挡,您将永远无法到达 $(4, 4)$。答案是 `NO`。 ### 示例解说 3 在这种情形下,Mr.X 有能力阻挡您移动到 $(2, 2)$。 **本翻译由 AI 自动生成**