bfs迷宮問題模板

2021-07-26 11:58:27 字數 685 閱讀 5160

/*bfs一般用於求迷宮起點到終點的最短距離,原因是迷宮各個方向權值相等*/

#include #include #include #include #define n 50

using namespace std;

struct point ;

point start;

point p;

queueq;

int m, n;

int map[n][n] = , vis[n][n] = ;

int dx[4] = ;//4個方向移動

int dy[4] = ;

int bfs()

} q.pop();//遍歷完後記得把佇列的首部元素清除 }}

int main()

} memset(vis, 0, sizeof(vis));//對標記陣列初始化

scanf("%d%d%d%d", &start.x, &start.y, &p.x, &p.y);//輸入起點和終點

start.step = 0;//初始化起點的步數

vis[start.x][start.y] = 1;//標記起點為已走過

ans = bfs();//呼叫bfs函式

printf("%d\n", ans);

} return 0;

}

解救人質 BFS模板(迷宮問題)

和上個dfs的問題一樣,這次用bfs的思想,bfs沒有像dfs那樣專門有個step累加,是靠佇列思想實現,更像一群路徑競速,最快的到達後,就break輸出了 include struct node int main int book 51 51 定義乙個用於表示走的方向的陣列 int next 4 ...

迷宮問題bfs

迷宮問題 採用佇列的廣度優先遍歷 bfs 思想是從乙個頂點v0開始,輻射狀地優先遍歷其周圍較廣的區域 找到的解為最優解 include define m 8 define n 8 define maxsize 1000 typedef struct box typedef struct qutype...

迷宮問題BFS

the code 資料結構迷宮.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include define n 4 定義迷宮為4 4 using namespace std struct pot 為記錄路徑的rec準備,座標 x...