POJ -1258 Agri-Net
2015-08-28 14:37
375 查看
AC代码:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define N 200005 int p[N]; int n; int L; struct node { int w,v,c; }t[N]; 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,cnt=0; int i; for(i=1;i<=L;i++) { int x=find(t[i].w); int y=find(t[i].v); if(x!=y) { p[y]=x; cnt++; sum+=t[i].c; } if(cnt==n-1) return sum; } return sum; } int main() { while(scanf("%d",&n)!=EOF) { int i,j; for(i=0;i<=n*n;i++) { p[i]=i; } L=0; int r; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { scanf("%d",&r); t[L].w=i; t[L].v=j; t[L].c=r; L++; } } sort(t,t+L,cmp); printf("%d\n",cl()); } return 0; }
相关文章推荐
- 牛逼程序猿需要尝试的10种姿势
- RTSP流媒体地址
- webdriver屏幕截图(python)
- ViewPager缓存机制
- error C3861: “snprintf”: 找不到标识符
- js 一次元素点击响应2个事件函数
- Android中MIME类型的解释
- Protobuffer和json深度对比
- 阿里巴巴实习review
- Android 计算控件尺寸
- (12)事件和信号的区别
- 程序员面试经典源代码
- Another app is currently holding the yum lock解决方法
- 时间总结
- 如何更改项目所使用的C#版本
- laravel-v5.1数据库连接文件是.env文件
- CI实践_Android持续集成
- SPOJ HIGH 104 Highways 图的生成树计数 (Matrix-Tree定理)
- 修改CentOS Linux的时间可以使用date指令
- 图片路径显示问题