hdu1233-还是畅通工程
来源:互联网 发布:qt编程教程 编辑:程序博客网 时间:2024/06/07 05:54
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<algorithm>#include<cstdlib>#include<map>#include<queue>#include <deque>#include <list>#include <ctime>#include <stack>#include <vector>#include<set>#define Maxn#define MODtypedef long long ll;#define FOR(i,j,n) for(int i=j;i<=n;i++)#define DFR(i,j,k) for(int i=j;i>=k;--i)#define lowbit(a) a&-a#define Max(a,b) a>b?a:b#define Min(a,b) a>b?b:aconst int inf = 0x3f3f3f3f;const double pi = acos(-1.0);using namespace std;struct edge{ int u; int v; int w;}e[5050];int n,f[106],sum,counter;bool cmp(edge a,edge b){return a.w<b.w;}int getf(int v){ if(f[v]==v) return v; else {f[v]=getf(f[v]);return f[v];}}int merge(int v,int u){ int t1,t2; t1=getf(v); t2=getf(u); if(t1!=t2) { f[t2]=t1; return 1; } return 0;}int main(){ while(~scanf("%d",&n)&&n) { sum=counter=0; FOR(i,1,n*(n-1)/2)scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w); sort(e+1,e+1+n*(n-1)/2,cmp); FOR(i,1,n) f[i]=i; FOR(i,1,n*(n-1)/2) { if(merge(e[i].u,e[i].v))counter++,sum+=e[i].w; if(counter==n-1)break; } printf("%d\n",sum); } return 0;}
0 0
- 还是畅通工程 hdu1233
- hdu1233还是畅通工程
- hdu1233还是畅通工程
- HDu1233 还是畅通工程
- hdu1233还是畅通工程
- 还是畅通工程hdu1233
- HDU1233还是畅通工程
- hdu1233还是畅通工程
- hdu1233-还是畅通工程
- hdu1233 还是畅通工程
- 还是畅通工程 hdu1233
- HDU1233还是畅通工程
- HDU1233还是畅通工程
- hdu1233还是畅通工程
- HDU1233:还是畅通工程
- HDU1233还是畅通工程
- hdu1233还是畅通工程
- hdu1233还是畅通工程
- 华为机试题目之投票统计
- jeffy
- BLtoolkit : association
- UItextField
- bss段初始化
- hdu1233-还是畅通工程
- 如何在确认订单页显示国家
- mysql 外连接查询替代
- [LeedCode OJ]#46 Permutations
- 机器视觉开源代码集合
- 【设计模式】——迭代模式
- HTML中Id和Name的区别
- Android-Universal-Image-Loader图片异步加载类库使用方法
- hdu 2161 Primes 素数打表