📂 导航
🏫 班级管理 📚 学习中心 📝 题单 💻 编程题 🐾 宠物 💬 私信 📒 我的笔记 ⭐ 积分管理 🔐 权限管理

📋 选择 / 判断题列表

支持按 ID、题目、难度、标签、来源、类别筛选
➕ 新增题目
↺ 重置
ID 题目摘要 状态 题型 类别 难度 标签 来源 创建时间 操作
759 25. 你的侦察兵到达了一个格子,步数是 3 步。他同时发现了前面的格子和右边的格子。请问这两个新格子的步数分别是多少?( ) A. 都是 3 步 B. 都是 4 步 C. 一个 … 单选题 C++ 2 BFS,步数,相同层 BFS测验 2026-05-19 00:03 ✏️ 🗑️
758 24. 在写代码时,为了记住每个格子的坐标 `x`、`y` 和到达这里的步数 `step`,我们通常会把这三个变量打包成一个( )放到队列里。 A. `struct`(结构体) B. `string`(字符串) C. `char`(字符) D. `double`(小数) 单选题 C++ 2 BFS,struct,结构体 BFS测验 2026-05-19 00:03 ✏️ 🗑️
757 23. 如果你现在的格子是从起点走了 5 步到达的,那么你发现的下一个新格子,它的步数应该是多少?( ) A. 5 步 B. 4 步 C. 6 步 D. … 单选题 C++ 2 BFS,步数传递 BFS测验 2026-05-19 00:03 ✏️ 🗑️
756 **【第四关:最短步数的奥秘】** 22. BFS 能找到最短路径的根本原因在于它的扩展规律是( ) A. 按步数从小到大:先走完所有 1 步能到的,再走所有 2 步能到的... B. 按步数从大到小 C. 随机挑步数走 … 单选题 C++ 2 BFS,最短路径,按层扩展 BFS测验 2026-05-19 00:03 ✏️ 🗑️
755 21. 假设迷宫全是可以走的空地,起点在 `(0,0)`。经过 1 趟"扩散"(步数为1),哪些格子会被加入队列?( ) A. 只有 `(1,1)` B. `(0,1)` 和 `(1,0)` C. `(2,2)` … 单选题 C++ 2 BFS,扩散,步数1 BFS测验 2026-05-19 00:03 ✏️ 🗑️
754 20. 迷宫中遇到障碍物(比如墙壁标记为 `1`),当 BFS 准备把它加入队列时应该怎么做?( ) A. 把墙壁炸掉 B. 直接把它加进队列 C. 忽略它,绝不加入队列 D. 把墙变成起点 单选题 C++ 1 BFS,障碍物,墙壁 BFS测验 2026-05-19 00:03 ✏️ 🗑️
753 19. 在编程时,我们经常用 `int dx[4] = {-1, 1, 0, 0};` 和 `int dy[4] = {0, 0, … 单选题 C++ 2 BFS,方向数组 BFS测验 2026-05-19 00:03 ✏️ 🗑️
752 18. 假设地图是一个二维数组 `a[x][y]`,起点坐标是 `(0, 0)`。如果我们要向上走,行坐标 `x` 通常会( ) A. 加 1 B. 减 1 C. … 单选题 C++ 2 BFS,坐标,方向 BFS测验 2026-05-19 00:03 ✏️ 🗑️
751 17. 在二维数组地图中,除了不能走回头路,我们还要判断一个格子能不能走,必须满足( ) A. 它是墙壁 B. 它在地图边界之外 C. 它在地图边界之内,且不是墙壁,且没被访问过 D. 只要没访问过就行,哪怕在地图外面 单选题 C++ 1 BFS,边界判断,障碍物 BFS测验 2026-05-19 00:03 ✏️ 🗑️
750 16. 正确的做法是:当一个新格子被( )时,我们就要立刻把它标记为"已访问过"(比如 `vis[x][y] = 1`)。 A. 打印出来 B. 加入队列 C. 离开队列 D. 变成墙壁 单选题 C++ 1 BFS,visited,入队即标记 BFS测验 2026-05-19 00:03 ✏️ 🗑️
749 15. 如果我们不用 `visited` 数组做标记,会发生什么可怕的事情?( ) A. 格子会在队列里进进出出,永远搜不完,导致死循环 B. 马上就能找到终点 C. 电脑速度变快两倍 D. 什么都不会发生 单选题 C++ 1 BFS,死循环,visited BFS测验 2026-05-19 00:03 ✏️ 🗑️
748 **【第三关:地图规则与"防迷路"标记】** 14. 在迷宫里走,最怕的事情是"原地转圈圈"。为了防止 BFS 走回头路,我们必须使用一个什么神器?( ) A. `visited` 数组(访问标记数组) B. 指南针 C. 魔法棒 D. 随机数 单选题 C++ 1 BFS,visited,标记 BFS测验 2026-05-19 00:03 ✏️ 🗑️
747 13. 在 C++ 编程中,要想拿出队列 `q` 最前面的元素,我们使用的代码是( ) A. `q.back()` B. `q.push()` C. `q.pop()` D. `q.front()` 单选题 C++ 2 BFS,C++,q.front() BFS测验 2026-05-19 00:03 ✏️ 🗑️
746 12. 如果一个迷宫根本没有出口(死路一条),BFS 最终会怎样?( ) A. 电脑会爆炸 B. 程序会一直死循环运行下去 C. 队列最终会变空,然后程序安全结束,告诉你"找不到路" D. 队列会变得无限大 单选题 C++ 1 BFS,无解,空队列 BFS测验 2026-05-19 00:03 ✏️ 🗑️
745 11. 迷宫寻路什么时候结束?( ) A. 当从队列里拿出的格子刚好是"终点"时 B. 队列里有 10 个格子时 C. 运行了 1 分钟后 D. 刚刚把起点放进队列时 单选题 C++ 1 BFS,终点,终止条件 BFS测验 2026-05-19 00:03 ✏️ 🗑️
744 10. 当我们从队列里拿出一个格子,发现它的"上、下、左、右"有可以走的新格子时,我们应该( ) A. 把这些新格子扔掉 B. 把这些新格子加入队列的尾部,让它们排队等候探索 C. 把这些新格子塞到队列的最前面 D. 立刻停止程序 单选题 C++ 1 BFS,队列,入队 BFS测验 2026-05-19 00:03 ✏️ 🗑️
743 9. 在 BFS 的大循环中,我们每次从队列里拿出( ),去观察它的四周。 A. 队尾的元素(最后一个排队的) B. 队首的元素(最前面排队的) C. 队列中间的元素 D. 队列里所有的元素 单选题 C++ 1 BFS,队列,队首 BFS测验 2026-05-19 00:03 ✏️ 🗑️
742 8. 游戏刚开始时,我们要把什么东西第一个放进队列里?( ) A. 迷宫的终点 B. 随便一个格子 C. 迷宫的起点 D. 迷宫里的墙壁 单选题 C++ 1 BFS,队列,起点 BFS测验 2026-05-19 00:03 ✏️ 🗑️
741 7. 为什么 BFS 必须用"队列"?因为队列的规则是( ),正好符合"先看到的格子先去探索"。 A. 后进先出 B. 随便进出 C. 先进先出 D. 只进不出 单选题 C++ 1 BFS,队列,FIFO BFS测验 2026-05-19 00:03 ✏️ 🗑️
740 **【第二关:队列大显身手】** 6. 要实现 BFS 这个"水波纹魔法",我们必须请出哪个数据结构来帮忙?( ) A. 栈(Stack) B. 队列(Queue) C. 变量(Variable) D. 字符串(String) 单选题 C++ 1 BFS,队列,数据结构 BFS测验 2026-05-19 00:03 ✏️ 🗑️

🐛 反馈BUG