题目信息

题目类型
练习
题目年份
2024
题目题型
编程题
关 键 词
DungeonMaster

题目题干

【题目描述】

这题是一个三维的迷宫题目,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。可以上下左右前后移动,每次都只能移到相邻的空位,每次需要花费一分钟,求从起点到终点最少要多久。YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输入】

多组测试数据。YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

一组测试测试数据表示一个三维迷宫:YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

前三个数,分别表示层数、一个面的长和宽,后面是每层的平面图。前三个数据为三个零表示结束。YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输出】

最小移动次数。YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输入样例】

3 4 5
S....
.###.
.##..
###.#
#####
#####
##.##
##...
#####
#####
#.###
####E
1 3 3
S##
#E#
###
0 0 0

【输出样例】

Escaped in 11 minute(s).
Trapped!

【提示】

对于题目给出数据的含义就是输入l,r,c,分别代表迷宫有l层,每层长宽分别是c,r。对于数据以可以这样移动:YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

 (1,1,1)->(1,1,2)->(1,1,3)->(1,1,4)->(1,1,5)->(1,2,5)->YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

 (1,3,5)->(1,3,4)->(1,4,4)->(2,4,4)->(2,4,5)->(3,4,,5)YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

 共11步就可以到达终点 对于数据二明显不能到达,则输出Trapped!YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

 这题用BFS解,每次去队首元素,如果是终点则输出结果移动的次数,否则,从该点开始分别向东南西北上下移动(如果可以走的话)并继续搜,如果到队列为空还没搜到解法,则说明无解。YYk100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

答案解析

相关题目

Lake Counting【题目描述】 题意:有一块N×M的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼? 【输入】 第一行为N,M
Dungeon Master【题目描述】 这题是一个三维的迷宫题目,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时
最少步数【题目描述】 在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢
细胞【题目描述】 一矩形阵列由数字0 到9 组成,数字1 到9 代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如: 阵列 4 10 023450006
改写以下程序。要求定义类student,封装三个数据成员和两个成员函数intpt和output,使程序得到相同的运行效果。 #include <iostream> using namesp
阅读程序,写出运行结果。 #include<iostream> using namespace std; class A { public : int f1(); i
关于this指针的说法正确的是( )。 (A)this指针必须显式说明 (B)定义一个类后,this指针就指向该类 (C)成员函数拥有this指针 (D)静态成员函数拥有this指针
下列关于类和对象的说法中,正确的是( )。 (A)编译器为每个类和类的对象分配内存 (B)类的对象具有成员函数的副本 (C)类的成员函数由类来调用 (D)编译器为每个对象的数据成员分配内存
在类定义的外部,可以被访问的成员有( )。 (A)所有类成员 (B)private或protected的类成员 (C)public的类成员 (D)public或private的
若有以下说明,则在类外使用对象objX成员的正确语句是( )。 class X { int a; void fun1(); public: void fun2(); };

提示声明

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

猜你喜欢