bfs 極其簡單的最短路問題

2021-09-23 10:35:32 字數 716 閱讀 6858

現在假設每條道路需要花費小x的時間為1,由於有數以萬計的好朋友沿路祝賀,導致小x在通過某些路不得不耗費1的時間來和他們聊天,儘管他希望盡早見到小c,所以他希望找到一條最快時間到達電影院的路。

一開始小x在1號點,共有n個點,m條路,電影院為t號點。

input

第一行2個正整數,分別為n,m,t

以下m行,每行3個數,表示連線的編號以及權值

(注意,可能會有重邊)

output

一行乙個數,表示1到t的最短路

由於邊長只能會是1或者2,所以邊長為2的就新建乙個點,然後以新點為中介連線倆個點就行了。

然後bfs。

#include

#include

using

namespace std;

int n,m,t,b[

5000001

],l[

5000001

],tt;

struct asdf a[

20000001];

intread()

return l;

}void

add(

int xx,

int yy)

void

bfs()if

(b[t]

>0)

}}intmain()

bfs();

}

bfs解決最短路問題

寬度優先搜尋按照開始狀態由遠及近的順序進行搜尋,因此很容易地用來求最短路徑 最少操作之類問題的答案。7 6 迷宮尋路 給定乙個m行n列的迷宮圖,其中 0 表示可通路,1 表示障礙物,無法通行。在迷宮中只允許在水平或上下四個方向的通路上行走,走過的位置不能重複走。5行8列的迷宮如下 0 1 1 1 0...

BFS 迷宮問題(求最短路)

題目 給定乙個大小為 n m 的迷宮。迷宮由通道和牆壁組成,每一步可以向鄰接的上下左右四格 的通道移動。請求出從起點到終點所需的最小步數。請注意,本題假定從起點一定可以移動 到終點。限制條件 bfs 迷宮問題自己寫 created by showlo on 2018 4 13.include inc...

迷宮最短路徑問題 bfs

問題 求起點到終點的最小步數 分析 廣搜按照距開始狀態由近及遠的順序進行搜尋,因此很容易地來求最短路徑 最小操作之類問題的答案。include include include includeusing namespace std const int inf 10000000 typedef pair...