题目http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28723#problem/C
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <stack>
#include <cstdlib>
#define LL long long
using namespace std;
struct point
{
int a,b,c;
}s[300005];
int p[1005];
int cmp(point a,point b)
{
return a.c<b.c;
}
int find(int x)
{
return p[x]==x?x:p[x]=find(p[x]);
}
int main()
{
int T,pp,n,m;
cin>>T;
while(T--)
{
cin>>pp>>n>>m;
for(int i=0;i<m;i++)
cin>>s[i].a>>s[i].b>>s[i].c;
sort(s,s+m,cmp);
for(int i=1;i<=n;i++)
p[i]=i;
LL ans=0;
for(int i=0;i<m;i++)
{
int x=find(s[i].a);
int y=find(s[i].b);
if(x!=y)
{
ans+=s[i].c;p[y]=x;
// p[x]=y;
}
}
cout<<ans*pp<<endl;
}
}