专题四 · 1004
Posted suamfadmp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了专题四 · 1004相关的知识,希望对你有一定的参考价值。
代码及解释
#include <iostream>
#include <algorithm>
// 刚刚考完计算机组成,赶快做一道题��
// 连续好几道 Kruskal,代码几乎都不用改(感谢老师��)
//
using std::cin;
using std::cout;
using std::endl;
const int N = 200;
int set[N];
int find_f(int x)
if (x != set[x])
set[x] = find_f(set[x]);
return set[x];
struct edge
int x, y, v;
e[N*(N - 1) / 2];
inline int cmp(edge e1, edge e2)
return e1.v<e2.v;
int main()
int n;
while (cin >> n && n)
for (int i = 0; i <= n; ++i)
set[i] = i;
n = n * (n - 1) / 2;
for (int i = 0; i<n; i++)
cin >> e[i].x >> e[i].y >> e[i].v;
std::sort(e, e + n, cmp);
int ans = 0;
for (int i = 0; i < n; ++i)
int x = find_f(e[i].x);
int y = find_f(e[i].y);
if (x != y)
ans += e[i].v;
set[x] = y;
cout << ans << endl;
return 0;
以上是关于专题四 · 1004的主要内容,如果未能解决你的问题,请参考以下文章
kuangbin专题专题四 MPI Maelstrom POJ - 1502