我输出不加NO Answer都能过
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct bian {
int s, b, a;
} s[100001];
int f[2001], n, m, ans = 0, tot = 0, k;
int getfa(int x) {
return f[x] == x ? x : f[x] = getfa(f[x]);
}
void merge(int x, int y) {
x = getfa(x), y = getfa(y);
f[x] = y;
}
bool cmp(bian a, bian b) {
return a.s < b.s;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m >> k;
for (int i = 1; i <= n; i++)f[i] = i;
for (int i = 1; i <= m; i++)cin >> s[i].a >> s[i].b >> s[i].s;
if (n - k == 0){cout<<0;return 0;}
sort(s + 1, s + m + 1, cmp);
for (int i = 1; i <= m; i++) {
if (getfa(s[i].a) == getfa(s[i].b))continue;
ans+=s[i].s;
tot++;
merge(s[i].a, s[i].b);
if (tot == n - k) {
cout << ans;
return 0;
}
}
//cout << "No Answer";
return 0;
}