POJ 2395 Out of Hay(最小生成树--prime 水)

来源:互联网 发布:java课程设计题目大耳 编辑:程序博客网 时间:2024/06/05 19:03
Out of Hay
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 13020 Accepted: 5063

Description

The cows have run out of hay, a horrible event that must be remedied immediately. Bessie intends to visit the other farms to survey their hay situation. There are N (2 <= N <= 2,000) farms (numbered 1..N); Bessie starts at Farm 1. She'll traverse some or all of the M (1 <= M <= 10,000) two-way roads whose length does not exceed 1,000,000,000 that connect the farms. Some farms may be multiply connected with different length roads. All farms are connected one way or another to Farm 1.

Bessie is trying to decide how large a waterskin she will need. She knows that she needs one ounce of water for each unit of length of a road. Since she can get more water at each farm, she's only concerned about the length of the longest road. Of course, she plans her route between farms such that she minimizes the amount of water she must carry.

Help Bessie know the largest amount of water she will ever have to carry: what is the length of longest road she'll have to travel between any two farms, presuming she chooses routes that minimize that number? This means, of course, that she might backtrack over a road in order to minimize the length of the longest road she'll have to traverse.

Input

* Line 1: Two space-separated integers, N and M.

* Lines 2..1+M: Line i+1 contains three space-separated integers, A_i, B_i, and L_i, describing a road from A_i to B_i of length L_i.

Output

* Line 1: A single integer that is the length of the longest road required to be traversed.

Sample Input

3 31 2 232 3 10001 3 43

Sample Output

43

Hint

OUTPUT DETAILS:

In order to reach farm 2, Bessie travels along a road of length 23. To reach farm 3, Bessie travels along a road of length 43. With capacity 43, she can travel along these roads provided that she refills her tank to maximum capacity before she starts down a road.



很好理解,求最小生成树所选路径的最大值,坑点是那个我所定义的最大值INF(衰,一定要足够大
ac代码:
#include<stdio.h>#include<string.h>#include<math.h>#include<iostream>#include<algorithm>#define MAXN 10010#define INF 0x7fffffffusing namespace std;int pri[MAXN][MAXN];int v[MAXN];int dis[MAXN];int n,m;int M;void prime(){int i,j,k;int min;M=0;memset(v,0,sizeof(v));for(i=1;i<=n;i++)dis[i]=pri[1][i];v[1]=1;for(i=0;i<n;i++){min=INF;for(j=1;j<=n;j++){if(v[j]==0&&dis[j]<min){min=dis[j];k=j;}}if(min==INF)break;v[k]=1;if(M<min)M=min;for(j=1;j<=n;j++){if(v[j]==0&&dis[j]>pri[k][j])dis[j]=pri[k][j];}}}int main(){int i,a,b,j,c;while(scanf("%d%d",&n,&m)!=EOF){for(i=1;i<=n;i++)for(j=1;j<=n;j++)pri[i][j]=pri[j][i]=INF;for(i=1;i<=m;i++){scanf("%d%d%d",&a,&b,&c);if(pri[a][b]>c)pri[a][b]=pri[b][a]=c;}prime();printf("%d\n",M);}return 0;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 POS机刷卡成功没打出单子怎么办 建行买的理财保险单子丢了怎么办 退休老师饭卡的钱突然少了怎么办 背驼得厉害头低的厉害怎么办 被别人举报自己碰瓷了怎么办 苹果平板微信屏幕不是全屏怎么办 大冒险告白被接受了怎么办在线阅读 手机屏锁图案密码忘了怎么办 opp手机锁屏密码忘了怎么办 宝宝的玩具里面脏了洗不到怎么办 早上起来眼睛被眼屎粘住了怎么办 魔兽世界神器满级任务放弃了怎么办 魔兽世界神器满级任务没接到怎么办 情侣空间上的照片删了怎么办 微信好友群群主把你踢出房间怎么办 我被车撞了对方把现场破坏该怎么办 美术生专业分可以文化分不行怎么办 小狗又吐又拉不吃东西怎么办 狗狗把脖子挠破了怎么办 几分钟我的手机疯狂收到短信怎么办 初中孩子沉迷动漫及画动漫画怎么办 打仗在派出所保释出来人跑了怎么办 贴门槛石瓷砖贴多了要怎么办 建设银行中职学生资助卡丢了怎么办 建行网银u盾丢了怎么办 深水区换气时喝了口水怎么办 撞到别人车了 我走了 怎么办 自己班同学被自己取好多外号怎么办 刚学会走路的宝宝脚外八字怎么办 宝宝两岁走路膝盖弯曲不直怎么办 一岁多的宝宝走路o型腿怎么办 21个月的宝宝走路o型腿怎么办 宝宝十一个月了0型腿怎么办 14个月宝宝o型腿怎么办 深蹲了三个月大腿变粗了怎么办 脚踢球时被踢肿了变紫了怎么办 没钱去健身房想要练出好身材怎么办 群里有人发反政府视频怎么办 部队取消番号后之前军人档案怎么办 新疆武警黄金部队新兵改革后怎么办 别人偷了自己的东西没有证据怎么办