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

2021-10-06 20:53:43 字數 814 閱讀 8499

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

#include

#include

using

namespace std;

int a[51]

[51]=

;int book[51]

[51]=

;int sizex,sizey,tx,ty,p,q,flag=0;

struct note

;struct note que[

2501];

int head,tail;

void

bfs(

int tx,

int ty),,

,}; que[tail]

.x =tx;

que[tail]

.y =ty;

que[tail]

.s =0;

tail++

; book[tx]

[ty]=1

;while

(head

if(tx==p&&ty==q)}if

(flag==1)

head++;}

}int

main()

}bfs

(tx,ty)

; cout<

.s;}

解救小哈 廣度優先搜尋bfs

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

深度優先搜尋 廣度優先搜尋(解決小哈)

問題省略 思路 讓小哼往右邊走,直到走不通的時候再回到這裡,再去嘗試另乙個方向。規定乙個順序,按順時針方向來嘗試 即按照右 下 左 上的順序去嘗試 先 檢查小哼是否已經到達小哈的位置,如果沒有到達則找出下一步可以走的地方。為了解決這個問題,此處dfs 函式只需要維護3個引數,分別是x座標 y座標 以...

解救小哈(深度搜尋)

本題可以用深度搜尋,也可以用廣度搜尋,相對來說,廣度搜尋更加簡潔,但是為了學習深度搜尋,故本題採用深度搜尋。思路 依然是使用遞迴,一步一步向前試探,試探後再回溯,最後比較結果,即可得出答案。如下 include define max n 100 define max m 100 inta max n...