hdu 1863(最小生成树kruskal)
/*Name: hdu1863畅通工程 Author: Try86Date: 10/04/12 12:43Description: 最小生成树(kruskal) */ #include <cstdio> #include <iostream>using namespace std;const int M = 5050;int p[M], sum; //sum统计顶点个数 struct edge {int a;int b;int w; }e[M];int cmp(const void *a, const void *b) {return (*(edge *)a).w - (*(edge *)b).w; } void init(int vs) {for (int i=1; i<=vs; ++i) p[i] = i;return ; }int find(int v) {if (p[v] != v) p[v] = find(p[v]);return p[v]; }int join(edge e) {int x, y;x = find(e.a);y = find(e.b);if (x != y) {++sum;p[x] = y;return e.w;}return 0; }int kruskal(int es, int vs) {int ans = 0;init(vs);qsort(e, es, sizeof(edge), cmp);for (int i=0; i<es; ++i) {ans += join(e[i]);if (sum == vs) return ans;}if (sum < vs) return -1; }int main() {int n, m;while (scanf("%d%d", &n, &m), n) {sum = 1;for (int i=0; i<n; ++i) scanf ("%d%d%d", &e[i].a, &e[i].b, &e[i].w);int ans = kruskal(n, m);if (ans == -1) printf ("?\n");else printf ("%d\n", ans);}return 0; }
转载于:https://www.cnblogs.com/try86/archive/2012/04/10/2440366.html
hdu 1863(最小生成树kruskal)相关推荐
- hdu 1162(最小生成树kruskal)
/*Name: 最小生成树(kruskal) Author: Date: 10/04/12 19:17 */#include <math.h> #include <cstdio> ...
- HDOJ 1863畅通工程(最小生成树kruskal算法并查集实现)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1863 最小生成树kruskal算法:http://www.zhuoda.org/irini/78592.h ...
- 畅通工程 hdu 1232 HDU - 1863 (并查集+最小生成树)
畅通工程hdu 1232 并查集 Problem Description Input Output 参考代码 HDU - 1863 Problem Description Input Output 参 ...
- 图的最小生成树-Kruskal算法
问题引入 [问题描述] 编写程序,利用带权无向图的邻接矩阵存储,实现图的最小生成树Kruskal算法. [输入形式] 输入图的顶点序列及图的边的情况.如样例所示.边的输入以输入-1,-1,-1作为结束 ...
- 【老生谈算法】matlab实现Kruskal避圈算法求最小生成树——Kruskal避圈算法
基于MATLAB的Kruskal避圈算法求最小生成树 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]基于MATLAB的Kruskal避 ...
- 最小生成树kruskal算法
最小生成树kruskal算法 概述 算法分析 代码 概述 克鲁斯卡尔(Kruskal)(Kruskal)(Kruskal)算法是求连通网的最小生成树的另一种方法.与普里姆(Prim)(Prim)(Pr ...
- 实现最小生成树Kruskal算法(附完整代码)
实现最小生成树Kruskal算法(附完整代码) Kruskal算法是一种常见的计算最小生成树的算法.它的主要思想是将所有的边按照权值从小到大进行排序,并逐个加入到生成树中,如果加入后不会形成环,则保留 ...
- HDU 1863 畅通工程 最小生成树
思路: 比较典型的最小生成树的题目了..在这里用求最小生成树的经典算法K(Kruskal)算法和P(Prim)算法.我的 K 算法用的是结构体来存图,P 算法用的是邻接矩阵来存图,K算法的复杂度是O( ...
- 【HDU - 1863】 畅通工程(并查集+最小生成树)
题干: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的 ...
最新文章
- 个推无法获取个推id_最新个推Android 推送 SDK Maven 集成
- LNMP_ 配置文件
- switch( )的经典引用
- profile based recommendation system
- Thymeleaf 简介、教程
- 手把手教你搭建LyncServer2013之发布Office Web App服务器(十二)
- android异步任务框架,详解Android App中的AsyncTask异步任务执行方式
- 详细解析Photoshop10个必学的抠图技巧
- SQLServer安装时哪些功能是必需的(sql server 2016安装时选择哪些功能)
- RGB-D、TOF深度相机的原理
- 投机者怎样于2019年3月18日前后的证券市场中利用底部放量实现程序化交易
- Spring Gateway静态文件路由
- 统计学习(三):分类
- 如何提高Alexa排名
- P2550数组彩票摇奖
- 广东省学计算机那间技校好,广东哪个技校最好?广东这边哪些技校好?
- 嵌入式软件工程师经典面试题(附答案)(二)
- stm32 hal串口中断分析
- L1-069 胎压监测
- 如何与不同的人进行高效的沟通?