1 #include<cstdio>
2 #include<iostream>
3 #include<algorithm>
4
5 using namespace std;
6
7 int f[10005], sum, ans;
8
9 struct node{
10 int x, y, l;
11 } a[10005];
12
13 inline int cmp(node i, node j){
14 return i.l < j.l;
15 }
16
17 inline int find(int x){
18 if(f[x] != x)
19 f[x] = find(f[x]);
20 return f[x];
21 }
22
23 int main(){
24 int n, m, k;
25 scanf("%d%d%d", &n, &m, &k);
26 for(int i = 1; i <= m; i++)
27 scanf("%d%d%d", &a[i].x, &a[i].y, &a[i].l);
28 for(int i = 1; i <= n; i++)
29 f[i] = i;
30 sort(a+1, a+m+1, cmp);
31 for(int i = 1; i <= m; i++){
32 int r1 = find(a[i].x);
33 int r2 = find(a[i].y);
34 if(r1 != r2){
35 f[r1] = r2;
36 sum++;
37 ans += a[i].l;
38 }
39 if(k == n - sum){ //是否已经合并成k块棉花糖
40 printf("%d", ans);
41 return 0;
42 }
43 }
44 printf("No Answer");
45 return 0;
46 }