杭电 畅通工程 1863 (并查集)
来源:互联网 发布:金庸小说那本好看知乎 编辑:程序博客网 时间:2024/05/17 04:22
记录端点数与顶点(村庄)数是否相同,如果相同,所形成的最短路径为最优解输出
#include <iostream>#include <cstring>#include <algorithm>using namespace std;#define MAX 5000// 顶点 权 排序 树(并查集)int u[MAX], v[MAX], w[MAX], r[MAX], p[105], sum, num, n, nc;int cmp(const int a, const int b){ return w[a]<w[b];}int find(int x){ return p[x]==x?x:find(p[x]);}bool Kruskal(){ int i; for (i=1; i<=num; i++) p[i] = i; for (i=1; i<=n; i++) r[i] = i; sort(r+1, r+n+1, cmp); for (i=1; i<=n; i++) { int t = r[i]; int x = find(u[t]); int y = find(v[t]); if (x!=y) { sum += w[t]; p[x] = y; nc++; //记录端点数 } } if (nc==n-1) //端点数=顶点数 返回真 return true; else return false;}int main(){ int i; while (cin>>num>>n && num) { for (i=1; i<=num; i++) scanf("%d%d%d", &u[i], &v[i], &w[i]); nc = 0; sum = 0; if (Kruskal()) printf("%d\n", sum); else printf("?\n"); } return 0;}
- 杭电 畅通工程 1863 (并查集)
- 杭电-1863 畅通工程(并查集+Kruscal)
- 杭电 还是畅通工程 (并查集)
- 杭电 畅通工程再续 (并查集)
- 杭电1232畅通工程(并查集)
- 杭电 1232 畅通工程 (并查集)
- 【杭电OJ】1232 - 畅通工程(并查集)
- 杭电-1232 畅通工程(并查集模板)
- 杭电--1874--畅通工程续--并查集
- 杭电--1875--畅通工程再续--并查集
- 杭电--1879--继续畅通工程--并查集
- 并查集-杭电1232-畅通工程-难度1
- 初试并查集 杭电1232 畅通工程
- 杭电 1232 畅通工程 并查集
- 并查集 杭电1232畅通工程
- 【杭电OJ】并查集--1232-畅通工程
- 并查集详解 (转) 杭电HDU1232畅通工程
- 杭电OJ——1232 畅通工程(并查集)
- Hadoop 学习总结之一:HDFS简介
- java 类型通配符 直接源码1
- I2C总线
- WEB-DICT词库计划
- boost序列化多态类指针的例子
- 杭电 畅通工程 1863 (并查集)
- HDU 4493 Tutor (基础题)
- 文件的本质,以及在VC中读写文本文件盒二进制文件的注意事项
- [各种面试题] N个点来回路径最小
- Hadoop学习总结之二:HDFS读写过程解析
- #define 用法锦集
- android简单的应用程序管理器
- 00 认识 XNA Game Studio 4.0
- 什么是lib库