1255 迷宮問題

2022-04-30 21:48:17 字數 1236 閱讀 3119

時間限制: 1000 ms         記憶體限制: 65536 kb

提交數: 2306     通過數: 1038 

定義乙個二維陣列:

int maze[5][5] = ;

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

乙個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

(0, 0)

(1, 0)

(2, 0)

(2, 1)

(2, 2)

(2, 3)

(2, 4)

(3, 4)

(4, 4)

解析:這題是乙個典型的迷宮型搜尋題目,而且很簡單,考查重點在於搜尋時記錄前驅節點並輸出這一塊。這部分我使用的是陣列儲存+遞迴輸出路徑。

參考**:

1 #include2 #include3 #include4 #include5 #include6 #include

7 #include8 #include9 #include10

#define inf 0x3f3f3f3f

11#define pi acos(-1.0)

12#define n 10010

13#define mod 2520

14#define e 1e-12

15using

namespace

std;

16bool vis[10][10

];17

int a[10][10

],pre[n];

18int dir[4][2]=,,,};

19struct

nodeq[n];

22void print(int tail)//

遞迴輸出路徑,由於我更習慣從1開始計數

23 27

void bfs(int i,int

j)28

48if(nx==5&&ny==5)49}

50 }while(head52int

main()

53

2019-04-21 12:37:37

1255 迷宮問題

定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。左上角到右下角的最短路徑,格式如樣例所示。0 1 0 0 0 0 1 0...

1255 迷宮問題

定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。左上角到右下角的最短路徑,格式如樣例所示。0 1 0 0 0 0 1 0...

資訊學奧賽一本通 1255 迷宮問題(evd)

題目描述 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。輸入 乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。輸出 左上角到右下角的最短路徑,格式如樣例所示。輸入樣例...