T? 逃出古堡

题目描述

你是一位c++大佬,而你被可恶的作者一位神秘人抓进了一个古堡。善(xie)良(e)的神秘人给你了一张古堡地图,上面写着各种奇怪的字样,聪明的你看到了左上角的注释,上面写着:

*:空地,经过此格需要1分钟;
#:墙壁,不可经过;@:你的位置;
$:同你被一起抓住的c++大佬,解救TA需要5分钟;
G:烦人的小怪,会让你在这一格停留1分钟;
B:巨烦的大怪,会让你在这一格停留2分钟;
&:一堵可以推开的墙,你推开这堵墙需要10分钟。

你还知道,古堡的出口在地图的右下角。你想知道再解救完所有c++大佬的前提下,至少要几分钟才能逃出古堡。
(注:你可以往上、右上、右、右下、下、左下、左、左上8个方向行走)

输入格式

第一行两个整数 nm ,表示古堡的大小。
接下来 m 行:
一行 n 个字符,表示古堡的地图,意思见题目描述

输出格式

输出最少要多少分钟,才能将所有c++大佬救出,并且逃出古堡(若逃不出去或者无法解救所有的c++大佬则输出-1)。

样例

Input 1

5 5
@$***
$###*
##***
$***$
*****

Output 1

31

Input 2

5 5
@****
*###*
*#$#*
*###*
*****

Output 2

-1

数据范围

1≤n,m≤50
保证输出结果在 INT_MAX 以下
保证没有重复路线

提示

不要骗分!测试点可能都有解!!!

@信友队汪老师 来看看

1 个赞

@信友队汪老师
求加入奖励题!!!!

好的,我有空加一下。

1 个赞

根据规则完善标签哦!