foj1750 ,自己测了好几组数据都没问题,提交还是WA,求指导。。。。
这是题目的地址http://acm.fzu.edu.cn/problem.php?pid=1750
这是我的代码
#include<cstdio>
#include<cstring>
typedef struct Node
{
int lson;
int rson;
int p;
int parent;
}Node;
int vt[110],n,count=0x7fffffff,ans;
Node node[110];
void dfs(int c,int i)
{
if(!vt[i])
{
vt[i]=1;
ans+=node[i].p*c;
if(node[i].parent) dfs(c+1,node[i].parent);
if(node[i].lson) dfs(c+1,node[i].lson);
if(node[i].rson) dfs(c+1,node[i].rson);
}
}
void main()
{
int i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d%d",&node[i].p,&node[i].lson,&node[i].rson);
node[1].parent=0;
if(node[i].lson) node[node[i].lson].parent=i;
if(node[i].rson) node[node[i].rson].parent=i;
}
for(i=1;i<=n;i++)
{
ans=0;
memset(vt,0,sizeof(vt));
dfs(0,i);
if(ans<count) count=ans;
}
printf("%d",count);
}