最短路水題 HDU 1874暢通工程續

2021-07-11 16:39:30 字數 1041 閱讀 2004

description

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

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

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

#include#include#define max 2000001

int dist[1005];

int c[205][205];

int n,m;

bool s[205];

int cnt = 0;

void dijkstra(int v)

if(u == -1)

break;

s[u] = false;

//更新dist

for(int i = 0;i < n;i ++)

} }

}int main()

for(int i = 0;i < m;i ++)

}int x,y;

scanf("%d %d",&x,&y);

dijkstra(x);

if(dist[y] >= max)

dist[y] = -1;

printf("%d\n",dist[y],cnt ++);

} return 0;

}

hdu1874 暢通工程續 (最短路)

已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。經典的單源 最短路 用dijkstra,這裡要注意的是有重邊,取最小的那個。已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。經典的單源 最短路 用dijkstra,這裡要注意的是有重邊,取最小的那個。include in...

HDU 1874 暢通工程續(最短路)

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

hdu1874 暢通工程續(最短路)

思路 最短路裸題 includeusing namespace std const int maxn 205 const int inf 1e9 int n,m vector e maxn int d maxn void init int main while scanf d d n,m eof i...