A83472.Medicines on Grid

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

有一个 HHWW 列的网格。自上而下第 ii 行,自左而右第 jj 列的格子用 (i,j)(i, j) 表示。每个格子的状态由字符 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} \cdots A1,WA_{1,W}
A2,1A_{2,1} A2,2A_{2,2} \cdots A2,WA_{2,W}
\vdots
AH,1A_{H,1} AH,2A_{H,2} \cdots AH,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

输入输出样例

  • 输入#1

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

    输出#1

    Yes
  • 输入#2

    2 2
    S.
    T.
    1
    1 2 4

    输出#2

    No

说明/提示

限制条件

  • 1H,W2001 \leq H, W \leq 200
  • Ai,jA_{i,j} 只可能是 ., #, S, T 之一。
  • STAi,jA_{i,j} 中各恰好出现一次。
  • 1N3001 \leq N \leq 300
  • 1RiH1 \leq R_i \leq H
  • 1CiW1 \leq C_i \leq W
  • 如果 iji \neq j,则 (Ri,Ci)(Rj,Cj)(R_i, C_i) \neq (R_j, C_j)
  • ARi,CiA_{R_i, C_i} 不是 #
  • 1EiHW1 \leq E_i \leq HW

样例解释 1

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

  • 使用药品 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

高桥君无法从起点移动。

首页