J J 暢通工程續

2021-08-18 05:00:14 字數 1038 閱讀 6052

j - j

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

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

input

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

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

output

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

sample input

3 3

0 1 1

0 2 3

1 2 1

0 23 1

0 1 1

1 2

sample output

2

-1

基本最短路:演算法詳解---

對於本題,應注意:

1)因為它是直接輸入1個起點和終點的,所以在dis核心演算法(迴圈得最短路)部分,應首先使起點s的book【s】標記為1;

2)可能有多組輸入相同城市之間的路徑,要取最短的那條;

獻上**:

#include

#include

using namespace std;

#define inf 99999999

int e[210][210],dis[210],book[210],n,m,u,v,minn;

int main()

}scanf("%d%d",&s,&t);

for(i=0; idis[u]+e[u][v])

dis[v]=dis[u]+e[u][v];}}

if(dis[t]==inf)

printf("-1\n");

else

printf("%d\n",dis[t]);        //輸出終點

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