簡單的實現了迷宮(深搜 並非是最短路徑)。
我們規定'1'為牆,'0'為通路。為了避免越界,在迷宮外面加了一堵牆。當然也可以不需要牆。
實現很簡單,用乙個陣列棧儲存已訪問過的位置,用四個if語句判斷東南西北四個方向能否走通。
若往前已無路可走便退回上乙個位置。
具體實現如下:
#include#include#define n 6
int table[n][n]=
;char *defindirection[4] = ;
int stack[n*n] = ;
void printtable(int t[n])
printf("\n"); }}
void printroute(int t[n]) }}
// 迷宮入口 1,1 出口 3,4
迷宮問題(深搜
d 迷宮問題 crawling in process.crawling failed time limit 1000msmemory limit 65536kb64bit io format i64d i64u submit status description 定義乙個二維陣列 int maze ...
迷宮問題(深搜 回溯)
time limit 1 sec memory limit 128 mb 64bit io format lld submit status web board 設有乙個n n 2 n 10 方格的迷宮,入口和出口分別在左上角和右上角。迷宮格仔中分別放0和1,0表示可通,1表示不能,入口和出口處肯定...
迷宮問題(廣搜與深搜)
定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。input 乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。output 左上角到右下角的最短路徑,格式如樣例所示。sa...