1815: 拯救佳佳

题目描述


这一日,快码佳编四兄弟姐妹到了沙漠上。沙漠上的黑风老怪出来了,他要把四兄弟姐妹抓走。四兄弟姐妹费了好大劲与黑风老怪周旋,但不幸的是佳佳还是被抓走了。
佳佳被关在黑风老怪的牢房里。这牢房是一个N*M(N,M<=200)的矩阵,矩阵方格里有墙、路和守卫。快快、码码和编编想去拯救佳佳。
他们的第一个目标是到佳佳所在的位置。当一个方格上有守卫时,我们需要杀死该守卫然后到这个格子上。我们假设往上、下、左、右四个方向移动到相应的格子需要1秒钟时间,而杀死守卫需要额外的1秒钟时间。因为得到了沙漠之鹰的帮助,我们有足够的力量杀死所有守卫。你能帮快快他们计算下到佳佳所在位置最短需要多少时间吗?(假设我们只能走到上、下、左、右四个临近的格子)

输入


多组测试数据,每组数据:
第一行输入2个整数n和m
然后是n行,每行由m个字符组成,"."代表路(或者空地的格子),"a"代表佳佳所在位置,"r"代表要拯救佳佳的人, "#"代表墙,"x"代表守卫

输出


对于每组测试数据,你需要输出一个整数,代表多少秒后能到达佳佳的位置,如果无法到达,你需要输出“Poor ANGEL has to stay in the prison all his life.”

样例输入


7 8 
#.#####.
#.a#..r.
#..#x...
..#..#.#
#...##..
.#......
........

样例输出


13

提示


拯救的人可能不止一个,以最早到达的那人的时间为准

来源/分类



请先 登录 后评论
  • 0 关注
  • 0 收藏,331 浏览
  • 轩爸 提出于 2019-08-02 22:25

相似问题