题目信息

题目类型
练习
题目年份
2025
题目题型
编程题
关 键 词
拯救行动

题目题干

描述

公主被恶人抓走,被关押在牢房的某个地方。牢房用N*M (N, M <= 200)的矩阵来表示。矩阵中的每项可以代表道路(@)、墙壁(#)、和守卫(x)。Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
英勇的骑士(r)决定孤身一人去拯救公主(a)。我们假设拯救成功的表示是“骑士到达了公主所在的位置”。由于在通往公主所在位置的道路中可能遇到守卫,骑士一旦遇到守卫,必须杀死守卫才能继续前进。Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
现假设骑士可以向上、下、左、右四个方向移动,每移动一个位置需要1个单位时间,杀死一个守卫需要花费额外的1个单位时间。同时假设骑士足够强壮,有能力杀死所有的守卫。Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

给定牢房矩阵,公主、骑士和守卫在矩阵中的位置,请你计算拯救行动成功需要花费最短时间。Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

输入
第一行为一个整数S,表示输入的数据的组数(多组输入)Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
随后有S组数据,每组数据按如下格式输入Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1、两个整数代表N和M, (N, M <= 200).Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2、随后N行,每行有M个字符。"@"代表道路,"a"代表公主,"r"代表骑士,"x"代表守卫, "#"代表墙壁。
输出
如果拯救行动成功,输出一个整数,表示行动的最短时间。Npi100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
如果不可能成功,输出"Impossible"
样例输入
2
7 8
#@#####@
#@a#@@r@
#@@#x@@@
@@#@@#@#
#@@@##@@
@#@@@@@@
@@@@@@@@ 
13 40
@x@@##x@#x@x#xxxx##@#x@x@@#x#@#x#@@x@#@x
xx###x@x#@@##xx@@@#@x@@#x@xxx@@#x@#x@@x@
#@x#@x#x#@@##@@x#@xx#xxx@@x##@@@#@x@@x@x
@##x@@@x#xx#@@#xxxx#@@x@x@#@x@@@x@#@#x@#
@#xxxxx##@@x##x@xxx@@#x@x####@@@x#x##@#@
#xxx#@#x##xxxx@@#xx@@@x@xxx#@#xxx@x#####
#x@xxxx#@x@@@@##@x#xx#xxx@#xx#@#####x#@x
xx##@#@x##x##x#@x#@a#xx@##@#@##xx@#@@x@x
x#x#@x@#x#@##@xrx@x#xxxx@##x##xx#@#x@xx@
#x@@#@###x##x@x#@@#@@x@x@@xx@@@@##@@x@@x
x#xx@x###@xxx#@#x#@@###@#@##@x#@x@#@@#@@
#@#x@x#x#x###@x@@xxx####x@x##@x####xx#@x
#x#@x#x######@@#x@#xxxx#xx@@@#xx#x#####@
样例输出
13
7

答案解析

相关题目

自然数的拆分问题【编程实现】自然数的拆分问题【具体要求】任何一个大于 1 的自然数 n,都可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n,请你输出它的所有的拆分。每个拆分后的序列中的数
拯救行动描述 公主被恶人抓走,被关押在牢房的某个地方。牢房用N*M (N, M <= 200)的矩阵来表示。矩阵中的每项可以代表道路(@)、墙壁(#)、和守卫(x)。 英勇的骑士(r)决定孤身一
重建二叉树描述 给定一棵二叉树的前序遍历和中序遍历的结果,求其后序遍历。 输入 输入可能有多组,以EOF结束。 每组输入包含两个字符串,分别为树的前序遍历和中序遍历。每个字符串中只包含大写字母且互不
简单的树上最近公共祖先查询描述 给出一棵包含 N 个节点的有根树,节点编号 1 到 N,根节点为 R。请回答 Q 个查询,计算节点 u 和节点 v 的最近公共祖先。 祖先定义:任意节点 u 到根节点
简单的树上路径最长边查询描述 给定一棵带权的树,要多次查询树上两个顶点a,b之间的路径上的最长边的长度。 输入 第一行是整数n,表示树上的顶点数目,顶点编号1到n。 (2<=n<=100
树的叶子描述 给定一棵包含N个结点的树,结点编号1~N,其中1号结点是根。请你计算它一共包含多少个叶结点。 输入 第一行包含一个整数N。(1 <= N <= 10000) 以下N行每行包
父与子描述 给出一棵 N 个节点的有根树,节点编号 1 到 N,根结点编号 R。回答 Q 个询问,每次询问一个节点的父节点编号和儿子数目。 输入 第一行包含 3 个整数 N, R, Q (2<
硬币问题描述 某国银行有1元、5元、10元、50元、100元、500元的硬币无限多枚。现在要用这几种硬币支付N元,最少需要多少枚硬币? 输入 一个整数N(1 <= N <= 100000
有趣的数描述 只包含因子 2,3,5,7 的正整数被称作有趣的数,比如 4,10,12,35 都是有趣的数,而 1,19,23,111 则不是。如果把全部有趣的数从小到大排列,请问第 n 个数是多少?
括号匹配2描述 给出一个由小括号、中括号、大括号组成的括号字符串,判断它是否合法。 输入 第一行包含1个正整数 T,表示测试数据组数。 接下去 T 行,每行一个仅由小括号、中括号、大括号组成的字符串

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢