BFS/acm習題集
A - Catch That Cow
// 沒有什麼坑~~
#include <iostream>
#include <string>
#include <string.h>
#include <algorithm>
#include <queue>
#define MAX 900100
#define INF 99999999
using namespace std;
struct node
{
int num,step;
node(int n,int s)
{
num = n;
step = s;
}
};
bool vis[MAX];
int main()
{
int N,K;
while(~scanf("%d%d",&N,&K))
{
int x,ans;
queue<node> q;
q.push(node(N,0));
memset(vis,false,sizeof(vis));
vis[N] = 1;
while(!q.empty())
{
node tmp = q.front();
q.pop();
x = tmp.num;
ans = tmp.step;
if(x == K)
{
break;
}
if(x>0 && vis[x-1]==0) //分三種情況
{
q.push(node(x-1,ans+1));
vis[x-1] = 1;
}
if(x<=K && vis[x+1]==0)
{
q.push(node(x+1,ans+1));
vis[x+1] = 1;
}
if(x<=K && vis[2*x]==0)
{
q.push(node(2*x,ans+1)); //記得開兩倍大小
vis[2*x] = 1;
}
}
cout<<ans<<endl;
}
return 0;
}
相關文章
- 習題集
- acm訓練題ACM
- ACM 6174問題ACM
- ACM 眾數問題ACM
- ACM 揹包問題ACM
- ACM 過河問題ACM
- 帶你學習BFS最小步數模型模型
- ACM 會場安排問題ACM
- ACM 荷蘭國旗問題ACM
- ACM 兄弟郊遊問題ACM
- ACM 括號配對問題ACM
- ACM中的輸入問題ACM
- ACM中回車的問題ACM
- 樹狀陣列模板+習題集陣列
- 資料 結構客觀題複習題集
- Count BFS Graph
- 01BFS
- (BFS廣度優先演算法) 油田問題演算法
- LeetCode BFS題目以及要注意的點LeetCode
- 東軟ACM題目的點點滴滴ACM
- ACM 另一種階乘問題ACM
- ACM演算法——數學專題ACM演算法
- DBA面試題集----我要好好學習面試題
- 一本組合學習題集——《組合問題與練習》
- ACM學習筆記:二叉堆ACM筆記
- ACM訓練方案-POJ題目分類ACM
- 藍橋杯練習系統題目集
- 深度DFS 和 廣度BFS搜尋演算法學習演算法
- 2019山東ACM省賽補題題解ACM
- 資料結構學習(C++)——圖【2】(DFS和BFS) (轉)資料結構C++
- 完數-week6-C語言習題集C語言
- BFS演算法原理演算法
- 【BFS】腐爛的橘子
- 找朋友(bfs常錯!!)
- acm-排列組合學習筆記(更新中)ACM筆記
- DFS與BFS——理解簡單搜尋(中文虛擬碼+例題)
- 最短路徑問題,BFS,408方向,思路與實現分析
- leetcode刷題記錄:演算法(六)BFS&DFSLeetCode演算法