AT_oidashi_a.不完全迷路
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
假如你在路旁捡到一个奇怪的迷宫生成器。 只要动一下它,就会自动生成很多纵长H,横长W的迷宫。 但是有时却会有缺陷,生成无法找到出口的迷宫。 所以,你需要修正这些迷宫,使它们能够找到出口。
对于迷宫,墙壁为#,路为...,起点为S,终点为G。玩家从起点开始移动,向相邻的长宽为4的非墙壁区域移动,到达终点。你需要从这里开始,将墙壁换成大小为1的道路,使其成为能够找到出口的迷宫。
但是,恰到好处的墙壁换成了路就没意思了。所以,你的修改必须使从起点到终点的最短路长变得最长。
请答出:经过了上述操作后,起点到终点的最短路长。
输入格式
第一行,输入迷宫的纵长HHH,横长W(2≤H,W≤298)W(2 ≤ H, W ≤ 298)W(2≤H,W≤298)。
第二行及以下的H行,每行W个字符的语句lineiline_ilinei,每个linei(1≤i≤H)line_i(1 ≤ i ≤ H)linei(1≤i≤H)都由#,.,S,G构成,墙壁为#,路为.,起点为S,终点为G。而且,一个迷宫中S,G都有且仅有一个。
请保证:输入的迷宫,从S无法到达G,必须有一个墙壁被换成了路,迷宫才能找到出口。
输出格式
输出修正后的迷宫起点到终点的最短路长。输出的末尾要换行。
输入输出样例
输入#1
6 8 S..#...# ##...#.. ..###.## ........ .####### .......G
输出#1
28
输入#2
5 6 #.S.#. ###... ...### .#.#.G .....#
输出#2
10
输入#3
4 6 S..... ###.## ###### .....G
输出#3
8
输入#4
6 8 S....... ######## ...#.... .##..##. ...#.#.. .#.G#..#
输出#4
12
输入#5
7 8 .#...... S#.#.### ...#.#.# ###.#.G. .....#.. ..##.#.# ........
输出#5
14
输入解题思路,AI测评打分。不知道怎么写?