題目 暢銷工程續

2021-10-06 16:19:49 字數 1480 閱讀 4545

dijkstra演算法的基本應用

暢通工程續

problem description

某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,

每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,

而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。

現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。

input

本題目包含多組資料,請處理到檔案結束。

每組資料第一行包含兩個正整數n和m(0output

對於每組資料,請在一行裡輸出最短需要行走的距離。如果不存在從s到t的路線,就輸出-1.

sample input

3 30 1 1

0 2 3

1 2 1

0 23 1

0 1 1

1 2sample output2-1

//思路 : dijkstra 演算法求解單源點最短路徑 

//無向圖,有權值

#include

#include

#include

using

namespace std;

int inf =

888888

;int n,m;

int a,b,x;

int t ,s;

int map[

100]

[100];

int dis[

100]

;int vis[

100]

;int

main

(int argc,

char

** ar**)

cin >> s >>t;

//出發城市,目標城市

//初始化dis

for(

int i =

0; i <= n; i++

)//初始化vis

memset

(vis,0,

sizeof

(vis));

vis[s]=1

;//第一次更新 dis

for(

int j =

0; j <= n; j++

)//迴圈遍歷

for(

int i =

0; i < n; i++)}

vis[temp]=1

;//存放

//根據找到的最短距離源點更新dis

for(

int j =

0; j < n; j++)}

}if(dis[t]

!= inf) cout << dis[t]

<< endl;

else cout <<

"-1"

<< endl;

}return0;

}

暢通工程續

description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。input ...

暢通工程續

b 暢通工程續 crawling in process.crawling failed time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1874 description...

暢通工程續

problem description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距...