博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1258Agri-Net
阅读量:5047 次
发布时间:2019-06-12

本文共 1046 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#include
#include
using namespace std;const int maxm = 5500;const int maxn = 110;int fa[maxn];int N;struct edge { int x, y, w;};bool cmp(edge a, edge b) { return a.w < b.w;}vector
v;int getfather(int x) { if(x==fa[x]) return x; else return fa[x] = getfather(fa[x]);}int krucal() { int cnt = N; int ans = 0; int edgeSize = v.size(); for(int i = 1; i <= N; i++) fa[i] = i; for(int i=0; i < edgeSize; i++) { int f1 = getfather(v[i].x); int f2 = getfather(v[i].y); if(f1 != f2) { fa[f1] = f2; cnt--; ans += v[i].w; if(cnt==1) break; } } return ans;}int main(){ edge tmp; int w; while(scanf("%d", &N)!=EOF) { v.clear(); for(int i = 1; i <= N; i++) { for(int j = 1; j <= N; j++) { scanf("%d", &w); if(i!=j || w>0) { tmp.x = i; tmp.y = j; tmp.w = w; v.push_back(tmp); } } } sort(v.begin(), v.end(), cmp); int result = krucal(); printf("%d\n", result); } return 0;}

转载于:https://www.cnblogs.com/jiangu66/p/3228528.html

你可能感兴趣的文章
Spark MLlib 之 Naive Bayes
查看>>
php修改SESSION的有效生存时间
查看>>
spring security 11种过滤器介绍
查看>>
Hibernate一对多、多对一关联
查看>>
一、记录Git使用中遇到的问题及解决方法
查看>>
学习网址
查看>>
前端表格插件datatables
查看>>
内部类
查看>>
树链剖分入门
查看>>
图解算法时间复杂度
查看>>
UI_搭建MVC
查看>>
一个样例看清楚JQuery子元素选择器children()和find()的差别
查看>>
代码实现导航栏分割线
查看>>
Windows Phone开发(7):当好总舵主 转:http://blog.csdn.net/tcjiaan/article/details/7281421...
查看>>
VS 2010打开设计器出现错误
查看>>
SQLServer 镜像功能完全实现
查看>>
Vue-详解设置路由导航的两种方法
查看>>
一个mysql主从复制的配置案例
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
dvwa网络渗透测试环境的搭建
查看>>