AT_arc005_3.[ARC005C] 器物損壊!高橋君

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

高桥君发现自己的卡已经过期了,于是他决定放弃,直接去鱼店买鳗鱼。
他所居住的城市呈长方形,被划分为网格状的区块。每个区块要么是道路,要么是围墙。高桥君只能在道路上沿东西南北方向移动,不能斜着走。同时,围墙区块是无法通过的。由于从他家到鱼店的路线非常复杂,仅靠步行很难到达。
不过,高桥君很有力气,他最多可以将与道路相邻的上下左右方向的围墙破坏 22 次,将其变为道路。

请你判断高桥君是否能够到达鱼店。如果可以到达,输出 YES,否则输出 NO。输入格式如下,从标准输入读取。

HH WW c(0,0)c(0,1)…c(0,W−1)c_{(0,0)}c_{(0,1)}\ldots c_{(0,W-1)}
c(1,0)c(1,1)…c(1,W−1)c_{(1,0)}c_{(1,1)}\ldots c_{(1,W-1)}
⋮\vdots
c(H−1,0)c(H−1,1)…c(H−1,W−1)c_{(H-1,0)}c_{(H-1,1)}\ldots c_{(H-1,W-1)}

  • 输入共 H+1H+1 行。
  • 第 11 行包含两个整数,分别表示城市南北方向的长度 H(1≤H≤500)H(1\leq H\leq 500) 和东西方向的长度 W(1≤W≤500)W(1\leq W\leq 500),以空格分隔。
  • 从第 22 行开始的 HH 行,每行包含该网格城市每个区块的状态 c(i,j)(0≤i≤H−1,0≤j≤W−1)c_{(i,j)}(0\leq i\leq H-1, 0\leq j\leq W-1)。
  • 第 ii 行第 jj 个字符 c(i,j)c_{(i,j)} 为 s、g、.、# 之一,表示坐标 (j,i)(j,i) 的状态如下:
    • s:该区块为高桥君的家。
    • g:该区块为鱼店。
    • .:该区块为道路。
    • #:该区块为围墙。
  • 高桥君可以通过家、鱼店、道路,但不能通过围墙。
  • 不能走出给定城市的范围。
  • s 和 g 各出现一次。

高桥君最多可以破坏 22 次围墙,如果能从家到达鱼店,输出 YES,否则输出 NO。最后输出要换行。

4 5
s####
....#
#####
#...g
YES
  • 只要破坏 (1,2)(1,2)、(2,2)(2,2)、(3,2)(3,2) 中的任意一个围墙,就可以到达鱼店。
4 4
...s
....
....
.g..
YES
  • 没有围墙,可以直接到达。
10 10
s.........
#########.
#.......#.
#..####.#.
##....#.#.
#####.#.#.
g##.#.#.#.
###.#.#.#.
###.#.#.#.
#.....#...
YES
  • 只需破坏 (1,6)(1,6)、(2,6)(2,6) 这两个围墙即可到达。
6 6
.....s
###...
###...
######
...###
g.####
YES
  • 例如破坏 (3,3)(3,3)、(2,3)(2,3) 这两个围墙即可到达。
1 10
s..####..g
NO
  • 即使破坏 22 个围墙,也无法到达鱼店。

输入格式

第 11 行包含两个整数 HH 和 WW,以空格分隔。

接下来 HH 行,每行 WW 个字符,表示城市网格的状态。

输出格式

如果能到达鱼店,输出 YES,否则输出 NO。最后输出换行。

说明/提示

无。

由 ChatGPT 4.1 翻译

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

首页