理解算法的好方法可以单步调试查看关键变量的变化过程,如head和next,同时画出搜索树分析
#include <iostream> #include <queue> #define SIZE 100005 using namespace std; //搜索是一种暴力的穷举 //分1 - 1 * 2三个方向广搜 queue<int> x; bool vistied[SIZE];//记录点是否搜过 int step[SIZE];//记录当前搜索的步数 int bfs(int n,int k){ int head,next; x.push(n); vistied[n] = true; step[n] = 0;//起始步数为0 while(!x.empty()){ //用队列实现广度优先搜索 //先取出对头 head = x.front(); x.pop(); for (int i=0;i<3;i++) { if (i == 0) { next = head - 1; } else if(i == 1) { next = head + 1; } else next = head * 2; if (next > SIZE || next < 0) { continue; } //判重,若没有搜过则入队列 if (!vistied[next]) { x.push(next); step[next] = step[head] + 1; vistied[next] = true; } if (next == k) { return step[next]; } } } } int main(){ int n,k; cin>>n>>k; if (n > k) cout<<n-k<<endl; else cout<<bfs(n,k)<<endl; return 0; }
您还没有登录,请您登录后再发表评论
北大POJ1426-Find The Multiple【BFS+同余模】 解题报告+AC代码
北大POJ3278-Catch That Cow 解题报告+AC代码
模拟题 要注意时间的处理 使用优先队列处理请求的事件 进行适当的运算符重载,可以简化代码
北大POJ3026-Borg Maze【BFS+Prim】 解题报告+AC代码
相信坦克大战大家都玩过吧,本题就是根据这个游戏设计的。坦克要从起点(Y),到...本题可以使用改进过的广搜或优先队列+bfs 或 记忆化广搜三种方法来解决。第一种方法:改进过的BFS:有些节点需要耗费2个单位时间,要
POJ各题算法分类和题目推荐 ACM必看 POJ各题算法分类和题目推荐 ACM必看 POJ各题算法分类和题目推荐 ACM必看
北大POJ3253-POJ3253-Fence Repair【STL优先队列】 解题报告+AC代码
北大POJ初级-简单搜索 解题报告+AC代码
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
北大POJ1184-Smart typist【搜索与状态压缩】 解题报告+AC代码
BFS POJ 3278 POJ 1426 POJ 3126 POJ 3414 POJ 2251 简单搜索技巧和剪枝 POJ 1010 :star: POJ 2362 POJ 1011(搜索+剪枝) POJ 1416 POJ 2676 POJ 1129:white_question_mark: 数据结构 串 POJ 1016 POJ 1035 POJ ...
Printer Queue(打印队列)POJ3125 打印机顺序打印问题 这是一道ACM算法题,上面的两个是求打印时间,还有一种是求打印顺序 输入和输出: 输入 3 1 0 5 4 2 1 2 3 4 6 0 1 1 9 1 1 1 输出 1 2 5 问题解析 输入解析 第...
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
解决算法问题 poj1082, poj1150, poj1180, poj1201, poj1222,代码完成所给题目要求。
简单搜索题 数独 答案 POJ 2676 也可以没事玩玩数独。
博客链接 http://blog.csdn.net/CABI_ZGX/article/details/52701138
POJ第1861题源码 POJ第1861题源码 POJ第1861题源码
C语言 poj npu 西工大 C语言Poj答案全完整打包,给有需要的朋友
相关推荐
北大POJ1426-Find The Multiple【BFS+同余模】 解题报告+AC代码
北大POJ3278-Catch That Cow 解题报告+AC代码
模拟题 要注意时间的处理 使用优先队列处理请求的事件 进行适当的运算符重载,可以简化代码
北大POJ3026-Borg Maze【BFS+Prim】 解题报告+AC代码
相信坦克大战大家都玩过吧,本题就是根据这个游戏设计的。坦克要从起点(Y),到...本题可以使用改进过的广搜或优先队列+bfs 或 记忆化广搜三种方法来解决。第一种方法:改进过的BFS:有些节点需要耗费2个单位时间,要
POJ各题算法分类和题目推荐 ACM必看 POJ各题算法分类和题目推荐 ACM必看 POJ各题算法分类和题目推荐 ACM必看
北大POJ3253-POJ3253-Fence Repair【STL优先队列】 解题报告+AC代码
北大POJ初级-简单搜索 解题报告+AC代码
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
北大POJ1184-Smart typist【搜索与状态压缩】 解题报告+AC代码
BFS POJ 3278 POJ 1426 POJ 3126 POJ 3414 POJ 2251 简单搜索技巧和剪枝 POJ 1010 :star: POJ 2362 POJ 1011(搜索+剪枝) POJ 1416 POJ 2676 POJ 1129:white_question_mark: 数据结构 串 POJ 1016 POJ 1035 POJ ...
Printer Queue(打印队列)POJ3125 打印机顺序打印问题 这是一道ACM算法题,上面的两个是求打印时间,还有一种是求打印顺序 输入和输出: 输入 3 1 0 5 4 2 1 2 3 4 6 0 1 1 9 1 1 1 输出 1 2 5 问题解析 输入解析 第...
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
解决算法问题 poj1082, poj1150, poj1180, poj1201, poj1222,代码完成所给题目要求。
简单搜索题 数独 答案 POJ 2676 也可以没事玩玩数独。
博客链接 http://blog.csdn.net/CABI_ZGX/article/details/52701138
POJ第1861题源码 POJ第1861题源码 POJ第1861题源码
C语言 poj npu 西工大 C语言Poj答案全完整打包,给有需要的朋友