POJ 3984 迷宮問題

2021-08-07 17:22:55 字數 718 閱讀 8783

題目大意:中文題。。。定義乙個二維陣列: 

它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。

解題思路:建立乙個模擬佇列的結構體,其中包括x,y,pre。pre用於儲存前一步的位置(結構體陣列的位)。全域性變數,標記陣列,頭尾位置。bfs先將起點讀入,pre為-1。然後迴圈將起點上下左右判斷是否能移動,能移動存入結構體,pre為這一次讀入的位置的的陣列位置(未出列時的頭)。當移動後的位置為終點時退出。輸出時dfs,如果pre未=-1,表示沒到起點,進入下一層,直到到起點,輸出,回上一層輸出。

ac**:

#include

using

namespace

std;

struct nodeno[50];

int dx[4]=, dy[4]=;

int front, rear, a[5][5], vis[5][5];

void

bfs()

no[0].x = no[0].y = 0;

no[0].pre = -1;

rear++;

while (front < rear)

} }

}void

prin

(node n)

}intmain

()return

0;}

POJ3984 迷宮問題

題目 迷宮問題 time limit 1000ms memory limit 65536k total submissions 3183 accepted 1861 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎...

POJ 3984 迷宮問題

一道比較簡單的bfs題 include include include include define max 6 using namespace std int map max max px max max py max max int movex 4 movey 4 bool vis max ma...

POJ 3984 迷宮問題

迷宮問題 time limit 1000ms memory limit 65536k total submissions 7047 accepted 4123 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,...