暢通工程 最短路(SPFA)

2021-08-20 16:53:55 字數 904 閱讀 8548

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

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

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

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

對於每組資料,請在一行裡輸出最短需要行走的距離。如果不存在從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 #include using namespace std;

#define n 210

#define inf 0x3f3f3f3f

int map[n][n], dis[n];

bool vis[n];

int spfa(int start,int finish,int n)

}return dis[finish];

}int main()

scanf("%d%d", &start, &finish);

int ans = spfa(start,finish,n);

if (ans < inf)

printf("%d\n", ans);

else

printf("-1\n");

}return 0;

}

暢通工程 最短路(SPFA)

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

暢通工程續 最短路徑,使用spfa

單源點最短路徑,使用spfa。include 有的oj中選擇c 編譯失敗,可以考慮換頭檔案或者選擇g 試一下 include define l x x 1 define r x x 1 1 define fori a,b,c for int a b a c a define ford a,b,c f...

最短路 暢通工程續

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