廣度優先搜尋1

2021-08-16 16:48:48 字數 540 閱讀 5945

乙個人站在n點,只能向左走一步,或者向右走一步,或者直接走n的2倍步,要求走最少的步數抓住站在k點的牛。

#include

#define max 200005//定義最大值

using namespace std;

int cnt ,v[3000000];//初始化

void  bfs(int n,int k)//廣搜

if(n+1<=max&&!v[n+1])

if(n*2<=max&&!v[n*2])

}

}

//以n=5,k=17為例,5 0// 4 1// 6 1 //10 1//第一次結束,每乙個方位再接著擴充套件,並刪除此方位;判斷!v[i]是因為此點若以前走過,cnt的值一定是以前走過的那次最小,廣搜特點

int main()

bfs(n,k);

cout

}

搜尋(廣度優先搜尋) BFS 1

廣度優先搜尋 bfs 狀態查詢樹 剪枝 題目1456 勝利大逃亡 題目描述 ignatius被魔王抓走了,有一天魔王出差去了,這可是ignatius逃亡的好機會.魔王住在乙個城堡裡,城堡是乙個a b c的立方體,可以被表示成a個b c的矩陣,剛開始ignatius被關在 0,0,0 的位置,離開城堡...

搜尋 廣度優先搜尋

廣度優先搜尋一層一層地進行遍歷,每層遍歷都是以上一層遍歷的結果作為起點,遍歷乙個距離能訪問到的所有節點。需要注意的是,遍歷過的節點不能再次被遍歷。class solution,int shortestpathbinarymatrix vectorint grid length return 1 cl...

廣度優先搜尋

include include include include using namespace std struct node 圖頂點結構定義 typedef struct node graph 圖形的結構新型態 struct node head 9 圖形頂點陣列 int visited 9 遍歷標...