BFS 電子老鼠走迷宮

2021-08-27 13:40:51 字數 776 閱讀 8321

如下圖12×12方格圖,找出一條自入口(2,9)到出口(11,8)的最短路徑。

輸入

第一行為乙個數n,表示迷宮大小

第二行為4個數,表示起點和終點

第三起為n*n的矩陣,0表示通路,1表示牆。

輸出

第一行為路徑(見樣例)

第二行為總的步數

(表示不會用迴圈佇列)用乙個佇列存要搜的節點,搜過的節點刪除。從前往後搜,搜到頭h==尾t的時候就說明搜完了。還有步數先不統計,用查詢父節點的方式乙個乙個倒回去。

#include

using

namespace

std;

const

int maxn=1000;

int qx,qy,zx,zy,n,f[maxn*maxn]=,a[maxn] [maxn],fx[maxn*maxn][2]; //q=起,z=終,fx存當前位置,f存佇列

int dx[5]=,dy[5]=,h=0,t=1,s;//方向x,y,頭,尾,數量

bool pdd(int i,int j)

return

false;

}void po(int k)

void bfs()}}

while(hint main()

老鼠走迷宮

說明 老鼠走迷宮是遞迴求解的基本題型,我們在二維陣列中使用2表示迷宮牆壁,使用1來表示老鼠的行走路徑,試以程式求出由入口至出口的路徑。解法 老鼠的走法有上 左 下 右四個方向,在每前進一格之後就選乙個方向前進,無法前進時退回選擇下乙個可前進方向,如此在陣列中依序測試四個方向,直到走到出口為止,這是遞...

老鼠走迷宮

老鼠走迷官 一 說明 老鼠走迷宮是遞迴求解的基本題型,我們在二維陣列中使用2表示迷宮牆壁,使用1來表 示老鼠的行走路徑,求出由入口至出口的路徑。解法 老鼠的走法有上 左 下 右四個方向,在每前進一格之後就選乙個方向前進,無法前 進時退回選擇下乙個可前進方向,如此在陣列中依序測試四個方向,直到走到出口...

老鼠走迷宮

參考 資料結構 胡昭民著 老鼠走迷宮 鏈棧實現 include include define north maze x 1 y 定義向北移動位置 define south maze x 1 y 定義向南移動位置 define west maze x y 1 定義向西移動位置 define east ...