#P1555. 【BFS】走迷宫3

【BFS】走迷宫3

题目描述

小z身处在一个迷宫中,小z每分钟可以走到上下左右四个方向的相邻格之一。迷宫中有一些墙和障碍物。 同时迷宫中也有一些怪兽,当小z碰到任意一个怪兽时,小z需要将怪兽消灭掉才可以离开此方格。但消灭 怪兽会花费一定的时间。现在小z想知道走出迷宫需要花费的最少时间。

输入格式

对于每组数据第一行为两个整数R和C(1<=R,C<=20)。以下R行每行有C个字符,即迷宫地图。

其中"#"代表墙和障碍物,"."表示空地,[1~9]的数字代表此处有怪兽以及消灭此处的怪兽需要的时间.

"Z"表示小z的起始位置,"W"表示迷宫出口。

对于每组数据保证起始位置和迷宫出口唯一。

输出格式

对于每组数据,输出走出迷宫的最短时间(单位:分钟)。如果无法走出迷宫则输出"IMPOSSIBLE"。

样例 #1

样例输入 #1

3 4
.Z..
.234
#.W.

样例输出 #1

5

样例 #2

样例输入 #2

4 4
Z.1.
.32.
##4.
W#..

样例输出 #2

IMPOSSIBLE

提示