问题 3561 --夺金之王

3561: 夺金之王★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 112  解决: 39
[提交][状态][命题人:]

题目描述

YYF最近迷上了一款叫做COD16的游戏,其中YYF最喜欢的就是夺金战。

然而YYF的枪法太差了,每次一露头就被别人干掉了,

苦恼的YYF找到你,希望你帮他找出一条路径,能够在不与其他玩家接触的情况下获得最多的赏金。

已知地图大小为n*n,地图中将有4种元素:

*:敌人,每个敌人将会看守周围8个格子,如图中红色叉号位置为敌人的攻击范围,YYF不能进入这些格子。

#:道路,YYF只能在道路与宝箱点上行进

&:无法跨越的地形

!:赏金宝箱,每个赏金宝箱提供数量为v的赏金

默认YYF初始位置在地图左上角(1,1)且保证(1,1)一定是#。

YYF每一步可以走到上下左右四个格子(如果这个格子可以走)并且不能前往已经走过的格子

(否则将因暴露位置而被击杀)。

输入

第一行:两个整数n (2<=n<=10),v(1<=v<=1000)表示地图的大小与每个宝箱的赏金数。

第2~n+1行:输入一张n*n的地图。

输出

共一行,输出YYF能够获得的最大赏金,如果一个赏金宝箱都没有拿到则输出“WDNMD!”。
样例输入
Copy
5 5
####!
##*#!
####!
#!!#&
&!&&!
样例输出
Copy
10

提示

输入样例2

5 5

####!

##*#!

####!

#&&#&

&!&&!

输出样例2

WDNMD!

来源

[提交][状态]