题解:树的重量
这题其实挺考察思维的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 }
"Hello World!"