啊哈演算法之解救小哈

2021-10-09 02:34:05 字數 1107 閱讀 9355

題目描述

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

輸入第一行有兩個數n 和m。n表示迷宮的行,m表示迷宮的列。接來下來n行m列為迷宮,0表示空地,1表示障礙物。最後一行4個數,前兩個數為迷宮入口的x和y座標。後兩個為小哈的x和y座標。

輸出乙個整數表示小哼到小哈的最短步數。如果不能解救小哈則輸出no way!

樣例輸入

540

0100

0000

0100

1000

0011

1433

3111

0100

1021

33

樣例輸出

7

no way!

#include

using

namespace std;

const

int maxn=

1000

;struct nodes,g,node;

int n,m,flag;

int a[maxn]

[maxn]

;int inq[maxn]

[maxn]

;int x[5]

=;int y[5]

=;bool

judge

(int x,

int y)

void

bfs(

)for

(int i=

1;i<=

4;i++)}

}if(flag==0)

}int

main()

} cin>>s.x>>s.y>>g.x>>g.y;

s.step=0;

bfs();

}return0;

}

啊哈演算法 bfs 解救小哈

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,t...

啊哈演算法 萬能的搜尋 解救小哈DFS

迷宮由n行m列的單元格組成 n和m都小於50 每個單元格要麼是空地,要麼是障礙物。你的任務是幫助小哼找到一條從迷宮的起點通往小哈所在位置的最短路徑。障礙物不能走,且不可走到迷宮外 啊哈演算法 解救小哈 include int n,m,p,q,min 99999999 把min設定成很大的數 int ...

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