#P2312. Battle City
Battle City
题目描述
我们中的许多人小时候玩过“坦克大战”游戏,有些人(比如我)甚至现在仍经常在电脑上玩。
这里讨论的是该游戏的一个简单版本。给定一个仅由空地、河流、钢铁墙和砖墙组成的地图。你的任务是假设没有敌人干扰的情况下,尽快获得奖励(如下图所示)。
你的坦克无法穿过河流或墙壁,但可以通过射击摧毁砖墙。击中砖墙时,它会变为空地;但如果击中钢铁墙,则不会对墙造成任何损坏。在每一回合中,你可以选择移动到相邻的(四个方向,非八个方向)空地,或在不移动的情况下向四个方向之一射击。子弹会沿该方向直行,直到飞出地图或击中墙壁。如果子弹击中砖墙,该墙会消失(即在本回合内)。
给定地图描述、坦克位置和目标位置,你至少需要多少回合才能到达目标?
输入
输入包含多个测试用例。每个测试用例的第一行包含两个整数和()。接下来的行每行包含个大写字母,每个字母是(你的坦克)、(目标)、(钢铁墙)、(砖墙)、(河流)或(空地)之一。和各仅出现一次。当时表示输入结束,无需处理。
输出
对于每个测试用例,请在一行中输出你至少需要的回合数。如果无法到达目标,则输出。
样例输入
3 4
YBEB
EERE
SSTE
0 0
样例输出
8
来源
POJ 月刊, 鲁小石