現在假設每條道路需要花費小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...