暢通工程續 最短路徑問題

2021-07-11 17:20:34 字數 2064 閱讀 9176

暢通工程續

problem 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

author

linle

source

2008浙大研究生複試熱身賽(2)——全真模擬

recommend

lcyhdu-1874 暢通工程續 最短路徑問題

[cpp]view plain

copy

print?

弗洛伊德最短路徑問題  

**:  

#include

#include

#define inf 0x3f3f3f3f

#include

using

namespace

std;  

intmap[300][1010];  

intmain()

} for

(i=0;i

scanf("%d %d %d"

,&a,&b,&value);                  

if(map[a][b]>value)  

map[a][b]=map[b][a]=value;  

}                       

for(k=0;k

for(i=0;i

for(j=0;j

map[i][j]=min(map[i][j],map[i][k]+map[k][j]);  

}                   

}                

scanf("%d %d"

,&start,&end);  

if(start==end)  

printf("0\n"

);  

else

if(map[start][end]==inf)  

printf("-1\n"

);  

else

printf("%d\n"

,map[start][end]);  

}  return

0;      

}  

另一篇:

**上:  

#include

#include

const

intinf=0x3f3f3f3f;

//0x3f3f3f3f 0x開頭的 是十六進製制常數,

// 等於 十進位制 1061109567

//等於 二進位制: 00111111 00111111 00111111 00111111 

//const int inf=0x3f3f3f3f -- 宣告 inf 是 const int型 ,

// const 表示 inf 一旦有了值以後就不允許(通過賦值 來)改變它的值。

intdis[110][110];  

intmain()  

}  for

(i=1;i<=m;i++)  

for(k=1;k<=n;k++)  

}  }  

printf("%d\n"

,dis[1][n]);  

}  return

0;  

}  

最短路 暢通工程續

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

暢通工程續(最短路)

暢通工程續 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,...

暢通工程續 最短路徑,使用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...