Kruskal算法
来源:互联网 发布:淘宝授权店铺是正品吗 编辑:程序博客网 时间:2024/05/17 03:32
#include <iostream>#include <vector>#include <algorithm>using namespace std;#define N 510int pre[N];class edge{public:int u, v, value;};bool cmp(const edge& a, const edge& b) {return a.value < b.value;}vector<edge> v;int unionsearch(int x) {return pre[x] = pre[x] == x ? x : unionsearch(pre[x]);}bool join(int u, int v) {int root1 = unionsearch(u);int root2 = unionsearch(v);if (root1 == root2)return false;pre[root1] = root2;return true;}int main() {int i, num_vertex, num_edge, local_edge, ans;edge tmp;v.clear();cin >> num_vertex >> num_edge;for (i = 1; i <= num_vertex; i++)pre[i] = i;ans = local_edge = 0;for (i = 0; i < num_edge; i++) {cin >> tmp.u >> tmp.v >> tmp.value;v.push_back(tmp);}sort(v.begin(), v.end(), cmp);for (i = 0; i < num_edge && local_edge < num_vertex - 1; i++) if (join(v[i].u, v[i].v)) {local_edge++;ans += v[i].value;}cout << ans << endl;return 0;}
0 0
- Kruskal算法
- Kruskal算法
- Kruskal算法
- kruskal算法
- Kruskal算法
- Kruskal算法
- Kruskal算法
- Kruskal算法
- kruskal算法
- kruskal算法
- kruskal算法
- Kruskal算法
- kruskal算法
- Kruskal算法
- Kruskal算法
- Kruskal算法
- Kruskal算法
- Kruskal算法
- linux socket 缓存
- #pragma mark的用法
- iOS错误处理之[__NSArrayM 某一方法名:]: unrecognized selector sent to instance
- 【DP】 HDU 1494 跑跑卡丁车
- java.util.Date随记
- Kruskal算法
- IOS-UIWebView开发简易浏览器
- bool型变量问题详解
- Post提交请求
- 数字信号处理
- Java 批量反编译class文件,并保持目录结构
- Microsoft SQL Server 2005 功能包
- Android声明和使用权限
- Java io详解