首页 > Web开发 > 详细

POJ 1287 Networking

时间:2018-09-28 21:10:24      阅读:145      评论:0      收藏:0      [点我收藏+]

我的第一道最短路

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
inline int read(){
	int x=0,f=1,ch=getchar();
	while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}
	while(ch>=‘0‘&&ch<=‘9‘){x=x*10+ch-‘0‘;ch=getchar();}
	return x*f;
}
struct stu{
	int x,y,w;
}a[2505];
inline bool cmp(stu a,stu b){
	return a.w<b.w;
}
int f[55];
inline int find(int x){
	return f[x]=(f[x]==x)?f[x]:find(f[x]);
}
inline bool same(int x,int y){
	return find(x)==find(y);
}
inline void add(int x,int y){
	f[find(x)]=find(y);
}
int main(){
	int n=read();
	while(n){
		int m=read();
		int ans=0;
		for(int i=1;i<=m;i++) a[i].x=read(),a[i].y=read(),a[i].w=read();
		sort(a+1,a+1+m,cmp);
		for(int i=1;i<=n;i++) f[i]=i;
		for(int i=1;i<=m;i++)
			if(!same(a[i].x,a[i].y))
				ans+=a[i].w,add(a[i].x,a[i].y);
		printf("%d\n",ans);
		n=read();
	}
	return 0;
}

  

POJ 1287 Networking

原文:https://www.cnblogs.com/gcyyzf/p/9720893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!