2 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=110; int w[N],g[N][N],n; int main() { cin>>n; memset(g,0x3f,sizeof(g)); for(int i=1;i<=n;i++) { int l,r; cin>>w[i]>>l>>r; if(l) g[l][i]=g[i][l]=1; if(r) g[r][i]=g[i][r]=1; } for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]=min(g[i][j],g[k][i]+g[j][k]); int ans=INT_MAX; for(int i=1;i<=n;i++) { int sum=0; for(int j=1;j<=n;j++) if(i!=j) sum+=w[j]*g[i][j]; ans=min(ans,sum); } cout<<ans; return 0; }
信息
- ID
- 5422
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 21
- 已通过
- 10
- 上传者