WA了第5个点,不知道为什么,求调
#include<bits/stdc++.h>
using namespace std;
const int N=100+10;
const int INF=1e8+10;
int n;
int head[N],to[N],ne[N],id;
int cnt[N];
int fa[N];
int ans=INF;
void add(int x,int y)
{
to[++id]=y,ne[id]=head[x],head[x]=id;
to[++id]=x,ne[id]=head[y],head[y]=id;
}
int dfs(int u,int f,int sum,int l)
{
// cout<<u<<" "<<f<<" "<<sum<<" "<<l<<endl;
int num=sum;
for(int i=head[u];i;i=ne[i])
{
int v=to[i];
if(v==f)continue;
num+=dfs(v,u,cnt[v]*l,l+1);
}
return num;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
int w,l,r;
cin>>w>>l>>r;
if(l!=0)add(i,l);
if(r!=0)add(i,r);
cnt[i]=w;
}
for(int i=1;i<=n;i++)
{
cout<<dfs(i,0,0,1)<<endl;
ans=min(ans,dfs(i,0,0,1));
}
cout<<ans;
return 0;
}