#5015. 【BFS】 营救计划

【BFS】 营救计划

题目描述

在一个n∗m的迷宫里,有一个萌新被困住了,你作为一个久经码场的战士,决定去营救萌新。地图中还会有一些守卫,你必须打败守卫才能通过守卫所在的位置,打败守卫需要花费1分钟,移动一步需要花费一分钟,每次你只能往上下左右某个方向移动一步。问你最少需要花费多少时间才能救到萌新。

输入格式

第一行输入两个整数 n,m 接下来n行每行输入m个字符

'#'代表障碍物,无法直接通过

'.'代表空地,可以直接通过

'G'代表守卫,你需要打败他才能通过

'M'代表萌新所在的位置

'@'表示你所在的位置

输出格式

如果可以营救到萌新,就输出最少需要花费的分钟数

如果不可以,输出“You can't save Mengxin”

样例 #1

样例输入 #1

7 8 
#.#####. 
#.M#..@. 
#..#G... 
..#..#.# 
#...##.. 
.#...... 
........

样例输出 #1

13

提示

1<=n,m<=200,输入保证合法