ACM暑期集训——专题一[BFS]
来源:互联网 发布:cds测试软件7.1 编辑:程序博客网 时间:2024/06/05 04:12
#include <iostream>#include <stdio.h>#include <queue>using namespace std;struct node{int x,step;};queue<node> Q;int v[200500];int k;void bfs(){int x,step;while(!Q.empty()){node tmp=Q.front();Q.pop();x=tmp.x;step=tmp.step;if(x==k){printf("%d\n",step);}if(x>=1&&v[x-1]==0){node t;v[x-1]=1;t.x=x-1;t.step=step+1;Q.push(t);}if(x<=k&&v[x+1]==0){node t;v[x+1]=1;t.x=x+1;t.step=step+1;Q.push(t);}if(x<=k&&v[x*2]==0){node t;v[x*2]=1;t.x=x*2;t.step=step+1;Q.push(t);}}}int main(){int n;while(scanf("%d %d",&n,&k)!=EOF){node begin;v[n]=1;begin.x=n;begin.step=0;Q.push(begin);bfs();}return 0;}
0 0
- ACM暑期集训——专题一[BFS]
- ACM暑期集训——专题一[优先队列]
- ACM暑期集训——专题一[DFS]
- ACM暑期集训——专题一[DFS回溯法]
- ACM暑期集训——专题一[最小生成树prim算法]
- ACM暑期集训——专题一[最短路Dijkstra算法]
- ACM暑期集训——专题一[DP最大子序列]
- ACM暑期集训——专题二[最短路Floyd算法]
- ACM暑期集训——专题二[最短路Bellman-Ford算法]
- 暑期集训搜索专题(一)
- 暑期集训搜索专题(一)
- **ACM集训day12——bfs队列
- 2015郑州大学ACM暑期集训——第三天
- ACM 暑期培训——二分/三分专题
- 7.19 暑期集训——动态规划篇(一)
- 7.13ACM暑期集训开始
- 暑期ACM集训-网络流
- 2009ACM多校联合暑期集训(1)——TJU专场
- Android保存数据到SharedPreferences
- https://jitpack.io
- Android 框架练成 教你打造高效的图片加载框架
- String,StringBuilder,StringBuffer
- 存储知识学习之--IP网络存储iSCSI的概念与工作原理
- ACM暑期集训——专题一[BFS]
- Android电源模式开发
- Android Studio 问题解决集
- PHP Session变量,实现session服务器端存储用户信息,阻止未登录跳转主页
- 新手Android学习笔记 02——关于R包的错误
- WINSOCK.H与winsock2.h出现重定义错误的解决方法
- 好的编码规范
- 浅谈jquery中的each方法$.each、this.each、$.fn.each
- NoteExpress 自定义参考文献输出样式