AT_abc348_d.[ABC348D] Medicines on Grid

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个 HH 行 WW 列的网格。自上而下第 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
  • 输入#3

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

    输出#3

    Yes

说明/提示

限制条件

  • 1≤H,W≤2001 \leq H, W \leq 200
  • Ai,jA_{i,j} 只可能是 ., #, S, T 之一。
  • S 和 T 在 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

样例解释 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

高桥君无法从起点移动。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页