编程题:救援计划
萧峰被耶律洪基关进了监狱。 监狱被描述为一个 N * M (N, M <= 200) 的矩阵(矩阵中的一个元素称为一个网格)。 监狱里有墙、路和守卫。
萧峰的朋友们想要救他,就必须先到达萧峰所在的位置。 当网格中有守卫时,必须杀死他(或她)才能进入该网格。 由于萧峰的朋友们武功高强,可以杀死所有的守卫。
现假设向上、下、左、右移动一个网格需要 1 个单位时间,杀死一个守卫也需要 1 个单位时间(当然只能移动到边界内的相邻网格)。
现请帮忙计算朋友们到达萧峰所在位置的最短时间。
### 输入格式:
第一行包含两个整数,分别代表 N 和 M。
然后是 N 行,每行有 M 个字符,其中 “.” 代表道路, “#” 代表墙,“x” 代表守卫,“a”代表萧峰,“r”代表萧峰的朋友。
### 输出格式:
对于每个测试用例,您的程序应该输出一个整数,代表所需的最短时间。 如果不存在这样的数字,则应输出包含“No way!”的行。
### 输入样例:
in
7 8
#.#####.
#.a#..r.
#..#x...
..#..#.#
#...##..
.#......
........
### 输出样例:
out
13
答案:若无答案欢迎评论
萧峰的朋友们想要救他,就必须先到达萧峰所在的位置。 当网格中有守卫时,必须杀死他(或她)才能进入该网格。 由于萧峰的朋友们武功高强,可以杀死所有的守卫。
现假设向上、下、左、右移动一个网格需要 1 个单位时间,杀死一个守卫也需要 1 个单位时间(当然只能移动到边界内的相邻网格)。
现请帮忙计算朋友们到达萧峰所在位置的最短时间。
### 输入格式:
第一行包含两个整数,分别代表 N 和 M。
然后是 N 行,每行有 M 个字符,其中 “.” 代表道路, “#” 代表墙,“x” 代表守卫,“a”代表萧峰,“r”代表萧峰的朋友。
### 输出格式:
对于每个测试用例,您的程序应该输出一个整数,代表所需的最短时间。 如果不存在这样的数字,则应输出包含“No way!”的行。
### 输入样例:
in
7 8
#.#####.
#.a#..r.
#..#x...
..#..#.#
#...##..
.#......
........
### 输出样例:
out
13
答案:若无答案欢迎评论