題目描述
有一天,小哈乙個去玩迷宮。但是方向感很不好的小哈很快就迷路了。小哼得知後便立即去解救無助的小哈。小哼當然是有備而來,已經弄清楚了迷宮地圖,現在小哼要以最快速度去解救小哈。問題就此開始了…… 迷宮由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...