啊哈演算法 bfs 解救小哈

2021-10-01 11:07:55 字數 1209 閱讀 8406

#include

struct note//定義乙個結構體佇列

;int

main()

,book[51]

[51]=

;//a陣列存地圖,book標記那個點走過

int next[4]

[2]=

,,,}

;//定義的方向

int head,tail;

//標記頭和尾

int i,j,k,n,m,startx,starty,endx,endy,tx,ty,flag;

scanf

("%d%d"

,&n,

&m);

//輸入地圖大小

for(i=

1;i<=n;i++

)for

(j=1

;j<=m;j++

)scanf

("%d"

,&a[i]

[j])

;//存入地圖

scanf

("%d%d%d%d"

,&startx,

&starty,

&endx,

&endy)

;//輸入起點座標,終點座標;

head=1;

tail=1;

que[head]

.x=stratx;

que[head]

.y=straty;

que[head]

.s=0

;//起點x座標,起點y座標,步數,存入佇列

tail++

;//尾巴往後指一位

book[startx]

[starty]=1

;//起點座標標記走過

flag=0;

while

(head//頭尾不相等迴圈

if(tx==endx&&ty==endy)

//如果走到終點結束 }if

(flag==1)

break

; head++

;//頭往後移,也就是下乙個位置的座標繼續走

}printf

("%d"

,que[tail-1]

.s);

//tail-1是因為tail永遠是在最後一位的後一位,所以輸出的時候要tail-1,才是答案

return0;

}

啊哈演算法之解救小哈

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

解救小哈 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...

解救小哈 廣度優先搜尋bfs

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