//ans[0]表示起點到各點的最短距離
//ans[1]表示終點到各點的最短距離
int ans[2]
[2005][
2005];
bool vis[2]
[2005][
2005];
char num[
2005][
2005];
int n,m,sx,sy,tx,ty,result=
1e9;
int dx=
;int dy=
;bool
check
(int x,
int y)
void
bfs(
int x,
int y,
int k)}}
return;}
intmain()
if(num[i]
[j]==
't')
if(num[i]
[j]==
'p')}}
//先將最短距離初始化為最大值(無法到達就是距離為最大值)
memset
(ans,
0x3f
,sizeof
(ans));
bfs(sx,sy,0)
;bfs
(tx,ty,1)
;while
(!q.
empty()
) cout<
return0;
}
蒜頭君回家(bfs)
蒜頭君要回家,但是他家的鑰匙在他的朋友花椰妹手裡,他要先從花椰妹手裡取得鑰匙才能回到家。花椰妹告訴他 你家的鑰匙被我複製了很多個,分別放在不同的地方。蒜頭君希望能盡快回到家中,他首先需要取得任意一把鑰匙,請你幫他計算出回家所需要的最短路程。蒜頭君生活的城市可以看做是乙個 n m 的網格,其中有道路有...
計蒜客 蒜頭君回家(bfs)
蒜頭君要回家,但是他家的鑰匙在他的朋友花椰妹手裡,他要先從花椰妹手裡取得鑰匙才能回到家。花椰妹告訴他 你家的鑰匙被我複製了很多個,分別放在不同的地方。蒜頭君希望能盡快回到家中,他需要首先取得任意一把鑰匙,請你幫他計算出回家所需要的最短路程。蒜頭君生活的城市可以看做是乙個 n m 的網格,其中有道路有...
計蒜客 蒜頭君回家 bfs
題目鏈結 bfs廣搜,從s到p 從t到p的所有求最小值輸出就好,需要注意的地方 採用了stl的map,map預設按key值排序,故當使用自定義結構體時,應當在結構體內重構比較運算子,一開始只是簡單比較了point的x值,後來插入有誤,檢查後發現當x值相等時便覆蓋了相同x值的對映 採用的point結構...