赞
踩
- #include<cstdio>
- #include<algorithm>
- using namespace std;
-
- int t,n,num[6001],fa[6001],ans,k1,k2;
-
- struct node{
- int x,y,v;
- }a[6001];
-
- bool cmp(node u,node v)
- {
- return u.v<v.v;
- }
-
- int findd(int u)
- {
- return fa[u]==u ? u:fa[u]=findd(fa[u]);
- }
-
- int main()
- {
- scanf("%d",&t);
- while(t--)
- {
- scanf("%d",&n);ans=0;
- for(int i=1;i<n;i++) scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].v);
- for(int i=1;i<=n;i++) fa[i]=i,num[i]=1;
- sort(a+1,a+n,cmp);
- for(int i=1;i<n;i++)
- {
- k1=findd(a[i].x);k2=findd(a[i].y);
- ans+=(a[i].v+1)*(num[k1]*num[k2]-1);
- num[k1]+=num[k2];fa[k2]=k1;
- }
- printf("%d\n",ans);
- }
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。