#ABC348D. 网格中的药品

网格中的药品

网格中的药品

题目描述

有一个 HHWW 列的网格。用 (i,j)(i, j) 表示从上数第 ii 行、从左数第 jj 列的格子。每个格子的状态用字符 Ai,jA_{i,j} 表示,含义如下:

  • .: 空地。
  • #: 障碍物。
  • S: 空地,且为起点。
  • T: 空地,且为终点。

高桥君可以从当前格子移动到上下左右相邻的空地,每次移动消耗 11 点体力。当体力为 00 时无法移动,也不能走出网格。

网格中有 NN 个药品。第 ii 个药品位于空地 (Ri,Ci)(R_i, C_i),使用后可以将体力设为 EiE_i。注意,体力不一定会增加。药品只能在当前所在的格子使用,使用后药品消失。

高桥君以 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

输出格式

如果高桥君能从起点到达终点,输出 Yes,否则输出 No

样例

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

例如,他可以按如下方式到达终点:

使用药品 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) 也有药品,但使用它会导致无法到达终点。

2 2
S.
T.
1
1 2 4
No

高桥君无法从起点移动。

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

数据范围

  • 1H,W2001 \le H, W \le 200
  • Ai,jA_{i,j}.#ST 之一。
  • Ai,jA_{i,j} 中,ST 各恰好出现一次。
  • 1N3001 \le N \le 300
  • 1RiH1 \le R_i \le H
  • 1CiW1 \le C_i \le W
  • iji \neq j,则 (Ri,Ci)(Rj,Cj)(R_i, C_i) \neq (R_j, C_j)
  • ARi,CiA_{R_i, C_i} 不是 #
  • 1EiHW1 \le E_i \le HW
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
3259
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签