洛谷:P1135:奇怪的电梯


洛谷:P1135:奇怪的电梯

Table of Contents

题目

P1135:奇怪的电梯

分析

当然了,这道题目出现在了相应的章节,所以自然就用广度优先了。

到了某一层,有两个选择:向上或者向下\(K_i\)层,我们的BFS也就据此展开。当然,必要的边界检查是必要的:向上不能超出顶层,向下不能突破底层。而且新到的楼层不能已经在之前已经访问过。

答案

Solution

思考

和DFS相比,BFS一定能找到最短路径;而且,不需要像DFS的一般做法那样,要进行回溯。

一般而言:

BFS不需要回溯的原因:

  • BFS是层次遍历,每个点只会被访问一次
  • 使用dist数组记录到达每层的最少步数
  • 一旦某层被访问过(dist[x]!=-1),就不会再次访问
  • 队列保证了先访问的点一定是步数最少的路径

DFS一般需要回溯:

  • 因为要尝试所有可能的路径
  • 可能会重复访问同一层
  • 不能保证找到的是最短路径
  • 需要维护访问状态并恢复

上一篇 下一篇