#4453. Round Trip

0
    ID: 4453 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>AtCoderabc276EGESP 6级BFS二维数组与矩阵

Round Trip

Round Trip

题目描述

我们有一个从上到下有 HH 行、从左到右有 WW 列的网格。记 (i,j)(i, j) 为从上数第 ii 行 (1≤i≤H)(1 \leq i \leq H)、从左数第 jj 列 (1≤j≤W)(1 \leq j \leq W) 的格子。 每个格子是以下三种之一:起点、道路或障碍物。
格子 (i,j)(i, j) 由字符 Ci,jC_{i, j} 表示。如果 Ci,j=SC_{i, j}=S 则该格子是起点,若 Ci,j=C_{i, j}= .. 则是道路,若 Ci,j=C_{i, j}= # 则是障碍物。起点恰好有一个。 判定是否存在一条长度至少为 44 的路径,该路径从起点出发,重复向上下或左右相邻的格子移动,并回到起点,同时路径不经过障碍物,也不重复访问同一格子(除了起点和终点可以相同)。
更形式地,判定是否存在整数 nn 和格子序列 (x0,y0),(x1,y1),…,(xn,yn)(x_0, y_0), (x_1, y_1), \dots, (x_n, y_n) 满足以下条件。

n≥4n \geq 4。 Cx0,y0=Cxn,yn=C_{x_0, y_0} = C_{x_n, y_n} = SS。 如果 1≤i≤n−11 \leq i \leq n - 1,则 Cxi,yi=C_{x_i, y_i} = ..。 如果 1≤i<j≤n−11 \leq i \lt j \leq n - 1,则 (xi,yi)≠(xj,yj)(x_i, y_i) \neq (x_j, y_j)。 如果 0≤i≤n−10 \leq i \leq n - 1,则格子 (xi,yi)(x_i, y_i) 与格子 (xi+1,yi+1)(x_{i+1}, y_{i+1}) 在垂直或水平方向上相邻。

输入格式

输入按照标准输入给出,格式如下: HH WW C1,1…C1,WC_{1, 1} \ldots C_{1, W} ⋮\vdots CH,1…CH,WC_{H, 1} \ldots C_{H, W}

输出格式

如果存在满足题目陈述中条件的路径,输出 YesYes;否则输出 NoNo。

4 4
....
#.#.
.S..
.##.
Yes
2 2
S.
.#
No
5 7
.#...#.
..#.#..
...S...
..#.#..
.#...#.
No

提示

4≤H×W≤1064 \leq H \times W \leq 10^6 HH 和 WW 是大于或等于 22 的整数。 Ci,jC_{i, j} 为 SS、.. 或 #。 恰好存在一个 (i,j)(i, j) 使得 Ci,j=C_{i, j} = SS。路径 $(3, 2) \rightarrow (2, 2) \rightarrow (1, 2) \rightarrow (1, 3) \rightarrow (1, 4) \rightarrow (2, 4) \rightarrow (3, 4) \rightarrow (3, 3) \rightarrow (3, 2)$ 满足条件。

标签: AtCoder|abc276E

来源

AtCoder|abc276E