訓練二 廣度優先搜尋

2021-07-24 18:40:41 字數 948 閱讀 1319

例1. hdu 1548

題意有人想乘電梯從

a樓到達b樓,電梯

只有兩種情況,上和下

,給定電梯的上下固定樓

,求從a到達b的最少移動次數? -**hdu1548

每層電梯有乙個數字表示該層可以移動的層數 **

#include

#include

#include

#define n 201

using namespace std;

int xx[n],v[n];

int n,a,b;

struct node

;void  bfs()

y.floor=x.floor-xx[x.floor];

y.step=x.step+1;

if(y.floor>0&&y.floor<=n&&!v[y.floor])

}cout<<-1<>n>>a>>b&&(n||a||b))

bfs();

}return 0;

}思路:bfs 用佇列,用乙個陣列標記是否到過該層

例2  hdu 1372

象棋裡的馬從a到達

b的最小步數

-**hdu

1372 **

#include

#include

#include

#define n 10

using namespace std;

char map[n][n];

int v[n][n];

int dic[8][2]=;

char q,w,e,r;

int a,s,d,f;

struct node

;void  bfs()}}

return;

}int main()

return 0;}

思路 bfs 佇列 注意馬有八個方向

廣度優先搜尋(二)

例5 8數碼難題 問題描述 在 3 3 的棋盤上,擺有八個棋子,每個棋子上標有 1 至 8 的某一數字。棋盤中留有乙個空格。空格周圍的棋子可以移到空格中。要求解的 問題是,給出一種初始布局 初始狀態 和目標布局 目標狀態 找到一種移動的方法,實現從初始布局到目標布局的轉變。輸入格式 輸入由兩行組成,...

搜尋 廣度優先搜尋

廣度優先搜尋一層一層地進行遍歷,每層遍歷都是以上一層遍歷的結果作為起點,遍歷乙個距離能訪問到的所有節點。需要注意的是,遍歷過的節點不能再次被遍歷。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 遍歷標...