dfs通过递归将每种情景分割在不同的时空,但需要对每种情况对后续时空造成的痕迹进行清理(这是对全局变量而言的,对形式变量不需要清理(因为已经被分割在不同时空))
bfs由于不是利用递归则不能分割不同的时空,但其利用队列将不同时空下的步骤在时间上进行同步(但队列内部的并不都是同一时间的)
但必须要区分在队列内的与从队列里拿出来的时间关系,所以对于类似于取钥匙开门的操作,应该判定在钥匙位置被提出队列时才能触发开门功能,而不能认为钥匙在队列时就能开门也就是bfs的作用效果要放在位置被提出队列时展开,而不能在放入队列之后立即展开
以下为题目链接https://www.nowcoder.net/acm/contest/68/B
原文地址:https://www.cnblogs.com/MekakuCityActor/p/8438114.html
时间: 2024-10-22 10:59:13