3315:爆裂球果

时间限制:2 S   /  内存限制:65536 KB
AC:60   /  Submit:146
问题描述


爆裂球果,游戏《英雄联盟》中的植物,分布于召唤师峡谷。它被摧毁后会击退附近单位——甚至可以让目标翻墙。

我们不妨把英雄联盟地图看成一个由空地.、墙壁#和爆裂球果@组成的二维平面,每个单位时间里,你可以选择向上、下、左、右四个方向前进一步(不能穿墙);或者当你处于爆裂球果处时,花费一单位时间摧毁它并选择向上、下、左、右四个方向跳跃两格(可以跳过墙壁)。但是请注意:如果你选择方向上的落点是墙壁或者地图外的区域时,你只会进行原地跳跃;被摧毁的爆裂球果无法再次使用。

现在你需要从起点S走到终点E,问至少需要花费多少时间。

输入描述

先是两个正整数 n 和 m 表示地图的大小。(1 <= n、m <= 100)

然后是 n 行 m 列个字符,每个字符都属于.#@SE中的其中一个。

保证起点S和终点E有且只有一个。

输出描述

输出至少需要花费的时间,如果无法到达终点,那么输出 -1。

最后换行。

样例输入复制样例
3 4
S..@
.###
...E
样例输出

4

提示说明

向右走三步,然后摧毁爆裂球果向下跳两步,共花费 4 单位时间。

相关

题单#8(BFS)

2021-XCPC校选赛


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1