SOJ 暢通工程續

2022-09-18 17:18:11 字數 957 閱讀 3074

description

某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。

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

input

本題目包含多組資料。

每組資料第一行包含兩個正整數n和m(0當n=0且m=0時,表示輸入資料結束。

output

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

sample input

copy sample input to clipboard

3 3

0 1 1

0 2 3

1 2 1

0 23 1

0 1 1

1 20 0

sample output

2

-1解題思路: 就是dijiskra演算法

//dijiskra algorithm

#include#include#includeusing namespace std;

const int max = 205;

const int inf = 0x3f3f3f3f;

int d[max]; //最短路徑陣列

bool v[max]; //已訪問節點陣列

int edge[max][max];

int n, m, start, e;

void dijiskra(int start)

cin>>start>>e;

dijiskra(start);

if(d[e]==inf)cout<

else cout<

} return 0;

}

暢通工程續

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