题目描述与DFS模型走迷宫那篇一样。小哈被困在迷宫里,小哼解救小哈。
这里用BFS来写。BFS(广搜)与DFS(深搜)的区别就在于,DFS是“不撞南墙不回头”,一条路走到不能再走之后才会回到起始点,另开辟一条新的道路;而BFS是将道路层层扩展,走到一个点时会同时搜索附近能到达的点,同时进行。
这里先附上我最开始的代码(但编译出来是错的):
#include
#include
#include
#include
#include
#include
#include
一开始是不能输出,把最开始的那些变量定义在主函数前竟然就可以进行输入了(我也不知道为啥)。然后可以输入之后,我尝试了这组数据,但输出是0,还是错的:
问了同学,她把我的输入输出格式给改了(cin cout,但是我觉得这没什么影响呀);还有走四个方向的那个for循环,我 i 一开始从1开始,这样就只进行了三个方向的搜索,应该从i=0开始;最后是输出q[head].s,而不是head-1;最后正确代码如下:
#include
#include
#include
#include
#include
#include
#include