题解:树的重量

这题其实挺考察思维的qwq

推荐这篇

大概我自己想是完全想不出来这种构造方法的

类似于贪心的一种方法

 1 #include <iostream>
 2 #include <cstring>
 3 using namespace std;
 4 const int maxn=35;
 5 int n, a[maxn][maxn];
 6 int main(){
 7     while (cin>>n,n!=0){
 8         memset(a,0,sizeof(a));
 9         for(int i=1; i<=n; i++)
10             for(int j=i+1; j<=n; j++)
11                 cin>>a[i][j], a[j][i]=a[i][j];
12         int ans=a[1][2];
13         for(int i=3; i<=n; i++){
14             int minn=0x3f3f3f3f;
15             for(int j=2;j<i;j++){
16                 int x=a[1][j], y=a[1][i], z=a[i][j];
17                 int fz=(y+z-x)/2;
18                 minn=min(fz,minn);
19 } 20 ans+=minn; 21 } 22 cout<<ans<<endl; 23 } 24 return 0; 25 }
原文地址:https://www.cnblogs.com/Aze-qwq/p/9894494.html