HDU -1879-继续畅通工程
2015-08-28 08:56
204 查看
AC代码:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define N 10005 int n,L; struct node { int w,v,c,x; }t[N],q[N]; int p[N]; int cnt; int cmp(node p,node q) { return p.c<q.c; } int find(int k) { if(p[k]==k) { return p[k]; } else { return find(p[k]); } } int cl() { int sum=0; for(int i=0;i<cnt;i++) { int x=find(q[i].w); int y=find(q[i].v); if(x!=y) { p[x]=y; sum+=q[i].c; } } return sum; } int main() { while(scanf("%d",&n)!=EOF&&n) { int i; for(i=1;i<=n;i++) { p[i]=i; } L=(n*(n-1))>>1; cnt=0; for(i=0;i<L;i++) { scanf("%d%d%d%d",&t[i].w,&t[i].v,&t[i].c,&t[i].x); if(t[i].x==1) { p[t[i].w]=t[i].v; } else { q[cnt].w=t[i].w; q[cnt].v=t[i].v; q[cnt].c=t[i].c; cnt++; } } sort(q,q+cnt,cmp); int t=cl(); printf("%d\n",t); } return 0; }
相关文章推荐
- Appium源码分析(七)-click
- UVA 12238 Anti-Rhyme Pairs(hash+二分)
- 小聪明(聪明的幻想)和走向真聪明
- IE兼容性问题之trim
- windows server 2003(64位)上利用iis6部署32位应用
- 程序员需要知晓的14大开发工具
- c# 面相对象3-之继承性
- iOS NSDate
- NYOJ 115 城市平乱(最短路--dijkstra)
- 网络编程基础
- iOS协议代理
- 一些共勉的话,勿忘初心
- IOSruntime : 运行时机制
- 面向对象基础知识(含义、修饰符、三大特性)
- Robotium 常用控件应用举例
- 去除 ListView 上下边界蓝色或黄色阴影
- java构造函数
- Eclipse更新android sdk adt慢的处理方法
- css position, display, float 内联元素、块级元素
- c# 面相对象4-多态性