乙個人站在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 狀態查詢樹 剪枝 題目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 遍歷標...搜尋(廣度優先搜尋) BFS 1
搜尋 廣度優先搜尋
廣度優先搜尋