AT_abc301_e.[ABC301E] Pac-Takahashi

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个 HH 行 WW 列的网格。自上而下第 ii 行,自左而右第 jj 列的格子记作 (i,j)(i,j)。每个格子可能是起点、终点、空地、墙或者糖果格。(i,j)(i,j) 的类型由字符 Ai,jA_{i,j} 表示,Ai,j=A_{i,j}= S 表示起点,Ai,j=A_{i,j}= G 表示终点,Ai,j=A_{i,j}= . 表示空地,Ai,j=A_{i,j}= # 表示墙,Ai,j=A_{i,j}= o 表示糖果格。保证起点和终点各有且仅有一个,糖果格最多有 18 个。

高桥君现在在起点。他可以多次移动到上下左右相邻且不是墙的格子。高桥君希望用不超过 TT 次移动到达终点。请判断是否可能做到。如果可能,请在最终停在终点的前提下,求出途中最多能访问多少个不同的糖果格。注意,同一个糖果格多次经过只计一次。

输入格式

输入通过标准输入给出,格式如下:

HH WW TT
A1,1A1,2…A1,WA_{1,1}A_{1,2}\dots A_{1,W}
⋮\vdots
AH,1AH,2…AH,WA_{H,1}A_{H,2}\dots A_{H,W}

输出格式

如果无法在 TT 步内到达终点,输出 -1。如果可以,请输出在最终停在终点的前提下,途中最多能访问的不同糖果格数量。

输入输出样例

  • 输入#1

    3 3 5
    S.G
    o#o
    .#.

    输出#1

    1
  • 输入#2

    3 3 1
    S.G
    .#o
    o#.

    输出#2

    -1
  • 输入#3

    5 10 2000000
    S.o..ooo..
    ..o..o.o..
    ..o..ooo..
    ..o..o.o..
    ..o..ooo.G

    输出#3

    18

说明/提示

限制条件

  • 1≤H,W≤3001 \leq H, W \leq 300
  • 1≤T≤2×1061 \leq T \leq 2 \times 10^6
  • H,W,TH, W, T 均为整数
  • Ai,jA_{i,j} 只可能是 S, G, ., #, o 之一
  • 满足 Ai,j=A_{i,j}= S 的 (i,j)(i,j) 仅有一个
  • 满足 Ai,j=A_{i,j}= G 的 (i,j)(i,j) 仅有一个
  • 满足 Ai,j=A_{i,j}= o 的 (i,j)(i,j) 最多有 18 个

样例解释 1

如 (1,1)→(1,2)→(1,3)→(2,3)→(1,3)(1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (1,3),移动 44 次,可以访问 11 个糖果格并最终到达终点。无法在 55 步内访问 22 个糖果格并最终到达终点,所以答案是 11。注意,如果 (1,1)→(2,1)→(1,1)→(1,2)→(1,3)→(2,3)(1,1) \rightarrow (2,1) \rightarrow (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3),虽然经过 22 个糖果格,但最后不在终点,因此不合法。

样例解释 2

无法在 11 步内到达终点。

由 ChatGPT 4.1 翻译

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

首页