解救小哈(深度搜尋)

2021-08-15 09:29:58 字數 1363 閱讀 9786

本題可以用深度搜尋,也可以用廣度搜尋,相對來說,廣度搜尋更加簡潔,但是為了學習深度搜尋,故本題採用深度搜尋。

思路:依然是使用遞迴,一步一步向前試探,試探後再回溯,最後比較結果,即可得出答案。

**如下:

#include#define max_n 100

#define max_m 100

inta[max_n][max_m];

intp,q,n,m;

int min=max_n+max_m;

void dfs(int x,int y,int

step);

int main(void

) }

scanf(

"%d%d%d%d

",&startx,&starty,&p,&q);

/*資料的處理

*/startx=startx-1

; starty=starty-1

; p=p-1

; q=q-1

;

/*因為輸入資料是從 (1,1) 開始計數,而陣列是從 (0,0) 開始計數。所以此處都要減去 1

*/dfs(startx,starty,0);

printf(

"%d\n

",min);

return

0;

} void dfs(int x,int y,int

step)

return

; }

if(a[x][y]==1

)

if(x+1

if(x-1>0

)

if(y+1

if(x-1

<0

)

}

5 40 0 1 0

0 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

1 1 4 3

3 20 1

0 00 0

1 1 3 2

5 40 0 1 0

0 0 0 0

0 0 1 0

0 1 1 0

0 0 0 0

1 1 5 2

此**沒有使用標記陣列,也可以使用標記陣列來解答此題。

解救小哈 廣度優先搜尋bfs

有一天,小哈乙個去玩迷宮。但是方向感很不好的小哈很快就迷路了。小哼得知後便立即去解救無助的小哈。小哼當然是有備而來,已經弄清楚了迷宮地圖,現在小哼要以最快速度去解救小哈。問題就此開始了 迷宮由n行m列的單元格組成,每個單元格要麼是空地,要麼是障礙物。你的任務是幫助小哼找到一條從迷宮的起點到小哈所在位...

廣度優先搜尋 解救小哈(c )

廣度優先搜尋可以形象化為 淺嘗輒止 可以理解為雷達,訊號是一圈一圈的進行發射,即對於每乙個頂點我只訪問該頂點的臨近點,找出臨近點的的所有情況,並且用佇列儲存起來。include include using namespace std int a 51 51 int book 51 51 int si...

解救小哈 BFS演算法舉例

有一天,小哈乙個人去玩迷宮。但是方向感不好的小哈很快就迷路了。小哼得知後便去解救無助的小哈。此時的小哼已經弄清楚了迷宮的地圖,現在小哼要以最快的速度去解救小哈。那麼,問題來了.輸入5 4 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 4 3 輸出輸入 3 3...