样例过了,然后测试数据全WA
#include<bits/stdc++.h>
using namespace std;
int fa[1010];
int find(int x) {
if(fa[x] == x) return x;
else return fa[x] = find(fa[x]);
}
struct st {
int x, y, l;
}a[10010];
bool cmp(const st& a, const st& b) {
return a.l < b.l;
}
int main() {
int n, m, k; cin >>n >>m >>k;
for(int i = 1; i <= n; i++) {
fa[i] = i;
}
for(int i = 1; i <= m; i++) {
cin >>a[i].x >>a[i].y >>a[i].l;
}
int ans = 0, check = 1;
sort(a + 1, a + m + 1, cmp);
for(int i = 1; i <= m; i++) {
if(check >= k) break;
int x = a[i].x, y = a[i].y;
x = find(x), y = find(y);
if(x == y) continue;
check++;
ans += a[i].l;
fa[x] = y;
}
if(check <= k - 1) cout <<"No Answer";
else cout <<ans;
}