天天看點

G-POJ-3984 迷宮問題

<a href="http://poj.org/problem?id=3984" target="_blank">POJ-3984</a> Description 定義一個二維數組: int maze[5][5] = { 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, }; 它表示一個迷宮,其中的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、DFS都可以

1.BFS:用樹存路徑壓入棧,一次AC看代碼吧:

2.DFS,這個寫的時候由于每種情況分開寫bug一大堆:

繼續閱讀