廣搜水題 Poj 3984

2021-05-26 22:09:14 字數 768 閱讀 3706

//該題主要是學會任何在廣搜的過程中,記錄下最短的那條路徑

//方法:佇列中的任何乙個節點的前驅節點唯一,利用這一點,記錄下前驅節點並深搜輸出

#include

#include

using namespace std;

//定義節點

struct node

node[5][5];

//定義佇列

queueq;

//定義四個方向的想,x和y的變化

int go_x[4]=;

int go_y[4]=;

//判斷是否在圖內

bool isin(int x,int y)

//廣搜,搜尋最短路

void bfs()

}q.pop();

while(!q.empty())

}q.pop();}}

//深搜,搜尋一路走來的路徑

void dfs(int x,int y)

int main()

//初始化節點的其他資料

for(i=0;i<5;i++)

}//清空佇列

while(!q.empty())

q.pop();

node[0][0].sign=true;

q.push(node[0][0]);

// 搜尋最短路徑

bfs();

// 輸出路徑

dfs(4,4);

}return 0;

}

POJ 3984 迷宮問題(廣搜)

這個題值得一提的就是用遞迴列印路徑 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。input 乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。...

poj3984 迷宮問題 廣搜

迷宮問題 time limit 1000ms memory limit 65536k total submissions 10736 accepted 6400 description 定義乙個二維陣列 int maze 5 5 point pre 二維結構體 int row size int co...

POJ 3984 迷宮問題(廣搜)

題目大意 給你乙個5 5的迷宮,讓你從左上角走到右下角,求最短路徑,並將路徑輸出。源 廣度優先搜尋 include include include include include include include include includeusing namespace std define n ...