迷宮的最短路徑

2021-07-23 03:49:48 字數 552 閱讀 8532

// 迷宮的最短路徑:

// 給定乙個大小為n*m的迷宮。迷宮由通道和牆壁組成,每一步可以向鄰接的上下左右的通道移動。

//請求出從起點到終點所需的最小步數。注意,本題假設從起點一定可以到達終點。 

const inf=10000000;

typedef pairp;   //狀態 

//輸入

cahr maze[maxn][maxm+1];

int n,m;

int sx,sy;     //起點 

int gx,gy;     //終點

int d[maxn][maxm];//到各個位子的最短距離

//四個方向的移動向量

int dx[4]=;

int dy[4]=;

int dfs()

//將起點加入佇列,距離設定為0;

que.push(p(sx,sy));

d[sx][sy]=0;

while(que.size())}} 

return d[gx][gy]; 

} void solve()

迷宮最短路徑

include include using namespace std const int max n 100,max m 100 const int inf 100000000 使用pair表示狀態時,使用typedef會更加方便一些 typedef pairp 輸入 char maze max ...

迷宮最短路徑

問題描述 小a同學現在被困在了乙個迷宮裡面,他很想從迷宮中走出來,他可以向上 向下 向左 向右移動 每移動一格都需要花費1秒的時間,不能夠走到邊界之外。假設小a現在的位置在s,迷宮的出口在e,迷宮可能有多個出口。問小a想要走到迷宮出口最少需要花費多少秒?並輸出從起點到最近出口的路徑。任務要求 1 迷...

迷宮的最短路徑

雖然在網上找不到題目,但這題實在是太經典了,好多搜尋題目都是從它變形來的 從s走到g,不能走 測試資料 10 10 s g include include includeusing namespace std const int inf 100000000 define max n 105 defi...