迷宮問題
題意:在乙個5*5的迷宮中,數字0表示為可通過的路,數字1表示為不可通過的牆。問從左上角走到右下角的最短路線,並且輸出路徑。(題目保證只有一組解,所以不用考慮字典序啥的)
題解:據說,題目真的只有一組解,你只要複製樣例中的輸出然後提交就能過。 雖然但是,還是要正兒八經做題的,輸出路徑最近常幹了,甚至自己都已經出過一道輸出路徑的bfs題目了。新增兩個pre陣列記錄前驅節點的座標,最後借助棧從終點往起點遞推,存入所有經過點,再輸出出來即可。
#include
#include
#include
#include
#include
using
namespace std;
int g[6]
[6];
int dir[
2]=,
,,};
int pre_x[6]
[6];
int pre_y[6]
[6];
struct node
node
(int x,
int y):x
(x),
y(y)};
inline
bool
check
(node u)
void
print_path()
while
(!st.
empty()
)}void
bfs(
)for
(int i =
0; i <
4; i++)}
}}intmain()
}bfs()
;return0;
}
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表示可以走的路,只能橫著走或豎著走,...