POJ 3894 迷宮問題 (BFS 路徑還原)

2022-08-15 07:54:12 字數 1078 閱讀 2632

定義乙個二維陣列: 

int maze[5][5] = ;

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

input

乙個5 × 5的二維陣列,表示乙個迷宮。資料保證有唯一解。

output

左上角到右下角的最短路徑,格式如樣例所示。

sample input

0 1 0 0 0

0 1 0 1 0

0 0 0 0 0

0 1 1 1 0

0 0 0 1 0

sample output

(0, 0)

(1, 0)

(2, 0)

(2, 1)

(2, 2)

(2, 3)

(2, 4)

(3, 4)

(4, 4)

題目分析:bfs路徑還原的方法是記錄每乙個節點的前乙個節點,並不斷更新。遞迴輸出。

**如下:

1 # include2 # include3 # include4 # include5 # include6

using

namespace

std;

7struct

node

811 node(int a,int b,int c=0

):x(a),y(b),t(c){}

12bool

operator

< (const node &a) const

15};

16int d[4][2]=,,,};

17int mp[5][5],px[5][5],py[5][5],vis[5][5

];18

void print(int x,int

y)19

24void

bfs()

2538

for(int i=0;i<4;++i)45}

46}47}

48int

main()

49

poj3894 bfs 記錄路徑

poj3894 bfs 記錄路徑 迷宮問題 time limit 1000ms memory limit 65536k total submissions 5385 accepted 3064 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表...

迷宮尋路(bfs)

第一次寫部落格,希望能把基礎的演算法記錄下來,以後快要忘記了可以拿來複習。題目 輸入輸出要求 樣例 輸入樣例 8 8 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1...

poj3984 迷宮問題 BFS

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