時間限制: 1000 ms 記憶體限制: 65536 kb
提交數: 2306 通過數: 1038
定義乙個二維陣列:
int maze[5][5] = ;
它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。
乙個5 × 5的二維陣列,表示乙個迷宮。資料保證有唯一解。
左上角到右下角的最短路徑,格式如樣例所示。
0 1 0 0 00 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 #include7 #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的二維陣列,表示乙個迷宮。資料保證有唯一解。輸出 左上角到右下角的最短路徑,格式如樣例所示。輸入樣例...