暢通工程續
problem description
某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。
現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。
input
本題目包含多組資料,請處理到檔案結束。
每組資料第一行包含兩個正整數n和m(0
output
對於每組資料,請在一行裡輸出最短需要行走的距離。如果不存在從s到t的路線,就輸出-1.
sample input
3 30 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...