bfs
来源:互联网 发布:中英文在线翻译软件 编辑:程序博客网 时间:2024/05/20 03:45
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <queue>
- #include <stack>
- using namespace std;
- int N, K;
- int vis[100010];
- struct node {
- int pos;
- int minute;
- };
- int bfs();
- int main()
- {
- // freopen("in.txt", "r", stdin);
- // freopen("out.txt", "w", stdout);
- cin>>N>>K;
- memset(vis, 0, sizeof(vis));
- cout<<bfs()<<endl;
- return 0;
- }
- int bfs()
- {
- queue<node>Queue;
- node Node;
- Node.pos = N;
- Node.minute = 0;
- vis[Node.pos] = 1;
- Queue.push(Node);
- while (!Queue.empty()) {
- int x = Queue.front().pos;
- int y = Queue.front().minute;
- // cout<<x<<endl;
- Queue.pop();
- if (x == K) {
- return y;
- }
- if (x-1>=0 && (!vis[x-1])) {
- vis[x-1] = 1;
- Node.pos = x-1;
- Node.minute = y+1;
- Queue.push(Node);
- }
- if (x+1<=100000 && (!vis[x+1])) {
- vis[x+1] = 1;
- Node.pos = x+1;
- Node.minute = y+1;
- Queue.push(Node);
- }
- if (x*2<=100000 && (!vis[x*2])) {
- vis[x*2] = 1;
- Node.pos = x*2;
- Node.minute = y+1;
- Queue.push(Node);
- }
- }
- return 0;
- }
0 0
- BFS
- bfs
- BFS
- BFS
- bfs
- BFS
- bfs
- BFS
- BFS
- bfs
- BFS
- BFS
- BFS
- BFS
- BFS
- bfs
- BFS
- BFS
- TCP/IP三次握手与四次挥手
- 找寻路径从根root到节点p的路径函数
- LeetCode #6 ZigZag Conversion C# Solution
- Partitioning Game (SG函数)
- ZOJ 3932 Handshakes
- bfs
- 键盘事件
- 在php中json_encode与json_decode的使用方法
- 用JS获取地址栏参数的方法(超级简单)
- Dubbo高级篇_12_dubbo服务只注册
- poj1328 Radar Installation 贪心
- 最短路
- linux 快捷登录三 expect脚本
- Hdu 1433 Simply Syntax【dfs枚举】