随笔分类 -  搜索

bfs dfs
摘要:思路 通过两次bfs实现。 第一次判断人是否能从起点走到箱子所在位置的四周 第二次判断箱子是否能走到下一个位置 注意 箱子转弯时,人要绕到下一次推箱子的位置,若不能走到直接return #include<bits/stdc++.h> //推箱子 #define ll long long#define 阅读全文
posted @ 2021-03-28 13:34 starlightlmy 阅读(164) 评论(0) 推荐(0)
摘要:dfs(深度优先搜索)即从每一个位置开始,逐步搜索下一个可行解,直到找到答案或者因不合法而返回 常见应用 走迷宫问题(小规模) 可以通过暴力+剪枝解决的问题 eg.素数环问题 // 素数环问题 clockwise||anticlockwise 直接搜索 //二维数组不宜用回溯,因为回溯时部分元素会被 阅读全文
posted @ 2021-03-28 13:28 starlightlmy 阅读(413) 评论(0) 推荐(0)
摘要:bfs(宽度优先搜索)即从每个点出发,找到它之后的所有可行的点,加入队列中。 常见应用: 走迷宫问题 下一步状态可由上一步状态转移得到的问题 代码 #include<bits/c++.h> //bfs using namespace std; int w,h; char a[22][22]; int 阅读全文
posted @ 2021-03-28 13:24 starlightlmy 阅读(424) 评论(0) 推荐(0)