HDU 1874 畅通工程续
来源:互联网 发布:剑灵男捏脸详细数据库 编辑:程序博客网 时间:2024/04/29 21:49
畅通工程续
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16866 Accepted Submission(s): 5772
Problem Description
某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。
现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。
现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。
Input
本题目包含多组数据,请处理到文件结束。
每组数据第一行包含两个正整数N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0~N-1编号。
接下来是M行道路信息。每一行有三个整数A,B,X(0<=A,B<N,A!=B,0<X<10000),表示城镇A和城镇B之间有一条长度为X的双向道路。
再接下一行有两个整数S,T(0<=S,T<N),分别代表起点和终点。
每组数据第一行包含两个正整数N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0~N-1编号。
接下来是M行道路信息。每一行有三个整数A,B,X(0<=A,B<N,A!=B,0<X<10000),表示城镇A和城镇B之间有一条长度为X的双向道路。
再接下一行有两个整数S,T(0<=S,T<N),分别代表起点和终点。
Output
对于每组数据,请在一行里输出最短需要行走的距离。如果不存在从S到T的路线,就输出-1.
Sample Input
3 30 1 10 2 31 2 10 23 10 1 11 2
Sample Output
2-1
Author
linle
Source
2008浙大研究生复试热身赛(2)——全真模拟
Recommend
lcy
#include <iostream>#include <stdlib.h>#include <algorithm>using namespace std;const int inf = 0x7f7f7f7f;int mp[220][220];bool visit[220];int dis[220];int n,m,st,end;int a,b,val;void prim( int start ){ for( int i=0 ; i<n ; i++ ){ dis[i] = ( i==start ) ? 0 : mp[start][i]; visit[i] = false; } visit[start] = true; //int ans = 0; int k; for( int i=0 ; i<n ; i++ ){ int tmp = inf; for( int j=0 ; j<n ; j++ ){ if( !visit[j] && tmp > dis[j] ) tmp = dis[ k = j ]; } if( tmp == inf ) break; visit[k] = true; for( int j=0 ; j<n ; j++ ){ if( !visit[j] && mp[k][j]+dis[k] < dis[j] ) dis[j] = mp[k][j]+dis[k] ; } } }int main(){ while( scanf("%d%d",&n,&m) != EOF ){ for( int i=0 ; i<n ; i++ ) for( int j=0 ; j<n ; j++ ){ mp[i][j] = inf; } for( int i=0 ; i<m ; i++ ){ scanf("%d%d%d",&a,&b,&val); if( mp[a][b] > val ) mp[a][b] = mp[b][a] = val; } scanf("%d%d",&st,&end); prim( st ); if( dis[end] == inf ) printf("-1\n"); else printf("%d\n",dis[end]); } return 0; }
- HDU 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- hdu 1874(畅通工程续)
- 基于URL特征的网站结构信息挖掘
- 使用Vitamio打造自己的Android万能播放器(9)—— 在线播放 (在线电视)
- 安卓巴士自测试题——第十期
- S5PV210裸板驱动
- 视频压缩原理之 预测编码
- HDU 1874 畅通工程续
- eclipse编码的设置
- 安卓巴士自测试题——第十一期
- GUI(图形用户界面)
- 你了解System.out.println()的真正含义吗?
- 使用Vitamio打造自己的Android万能播放器(10)—— 本地播放 (缩略图、视频信息、视频扫描服务)
- 业务的需求:服务器垂直还是水平扩展?
- oracle死锁查询及处理
- ARM指令集详解