AT_abc420_d.[ABC420D] Toggle Maze
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个 H 行 W 列的网格。用 (i,j) 表示从上到下第 i 行、从左到右第 j 列的格子。每个格子的状态由字符 Ai,j 表示,含义如下:
.:空格子。#:障碍格子。S:起始格子。G:目标格子。o:开启的门格子。x:关闭的门格子。?:开关格子。
高桥可以每次从当前位置移动到相邻的格子(上下左右),前提是该格子不是障碍格子也不是关闭的门格子,每次移动算一次操作。
此外,每当他移动到一个开关格子时,所有开启的门格子会变为关闭的门格子,所有关闭的门格子会变为开启的门格子。
请判断他是否可以从起始格子出发到达目标格子。如果可以,输出所需的最小操作次数;否则输出 −1。
输入格式
输入按以下格式从标准输入给出:
H W
A1,1A1,2⋯A1,W
A2,1A2,2⋯A2,W
⋮
AH,1AH,2⋯AH,W
输出格式
如果高桥可以从起始格子到达目标格子,输出最小操作次数;否则输出 −1。
输入输出样例
输入#1
2 4 S.xG #?o.
输出#1
5
输入#2
1 5 So?oG
输出#2
-1
输入#3
5 5 Sx?x? o#o#x ?o?o? x#x#o ?x?oG
输出#3
10
说明/提示
样例解释 1
按照 (1,1)→(1,2)→(2,2)→(1,2)→(1,3)→(1,4) 的顺序移动,他可以在五次操作内到达目标格子。
样例解释 2
无论如何操作,都无法到达目标格子。因此输出 −1。
数据范围
- 1≤H,W≤500
- H 和 W 为整数。
- 每个 Ai,j 取值为
.、#、S、G、o、x、?之一。 - Ai,j 中
S和G各出现恰好一次。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?