#5052. Medicines on Grid

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

Medicines on Grid

Medicines on Grid

题目描述

有一个有 HH 行 WW 列的格子。记位于从上数第 ii 行从左数第 jj 列的格子为 (i,j)(i, j)。每个格子的状态由字符 Ai,jA_{i,j} 表示,含义如下:

..:空格子。 #:障碍物。 SS:空格子且为起点。 TT:空格子且为终点。

Takahashi 可以通过消耗 11 点能量从当前格子移动到上下左右相邻的空格子。当能量为 00 时无法移动,也不能走出网格。 网格中有 NN 个药物。第 ii 个药物位于空格子 (Ri,Ci)(R_i, C_i),可以被用来将能量设为 EiE_i。注意能量不一定会增加。他可以在自己所在的格子使用药物。使用过的药物会消失。 Takahashi 从起点以 00 能量开始,想要到达终点。判断这是否可能。

输入格式

输入由标准输入按以下格式提供: HH WW A1,1A_{1, 1}A1,2A_{1, 2}⋯\cdotsA1,WA_{1, W} A2,1A_{2, 1}A2,2A_{2, 2}⋯\cdotsA2,WA_{2, W} ⋮\vdots AH,1A_{H, 1}AH,2A_{H, 2}⋯\cdotsAH,WA_{H, W} NN R1R_1 C1C_1 E1E_1 R2R_2 C2C_2 E2E_2 ⋮\vdots RNR_N CNC_N ENE_N

输出格式

如果 Takahashi 能从起点到达终点,输出 YesYes;否则输出 NoNo。

4 4
S...
#..#
#...
..#T
4
1 1 3
1 3 5
3 2 1
2 3 1
Yes
2 2
S.
T.
1
1 2 4
No
4 5
..#..
.S##.
.##T.
.....
3
3 1 5
1 2 3
2 2 1
Yes

提示

1≤H,W≤2001 \leq H, W \leq 200 Ai,jA_{i, j} 是 ..、#、SS 或 TT 之一。 SS 和 TT 在 Ai,jA_{i, j} 中各恰好存在一次。 1≤N≤3001 \leq N \leq 300 1≤Ri≤H1 \leq R_i \leq H 1≤Ci≤W1 \leq C_i \leq W 若 i≠ji \neq j 则 (Ri,Ci)≠(Rj,Cj)(R_i, C_i) \neq (R_j, C_j)。 ARi,CiA_{R_i, C_i} 不是 #。 1≤Ei≤HW1 \leq E_i \leq HW例如,他可以按如下方式到达终点:

使用药物 11。能量变为 33。 移动到 (1,2)(1, 2)。能量变为 22。 移动到 (1,3)(1, 3)。能量变为 11。 使用药物 22。能量变为 55。 移动到 (2,3)(2, 3)。能量变为 44。 移动到 (3,3)(3, 3)。能量变为 33。 移动到 (3,4)(3, 4)。能量变为 22。 移动到 (4,4)(4, 4)。能量变为 11。

途中在 (2,3)(2, 3) 处也有药物,但使用它会阻止他到达终点。
Takahashi 无法从起点移动。

标签: AtCoder|abc348D

来源

AtCoder|abc348D