爆样例求调,应该是bfs的问题
查看原帖
爆样例求调,应该是bfs的问题
776337
sugawara楼主2023/8/22 15:49
#include<iostream>
using namespace std;
const int N=1e6+10;
int n,ans,ending=N+10;
struct node{
	int lch;
	int rch;
	int w;
}tree[N];
void dfs(int root,int dep){
	if(root==0) return ;
	ans+=dep*tree[root].w;
	dfs(tree[root].lch,dep+1);
	dfs(tree[root].rch,dep+1);
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&tree[i].w);
		scanf("%d",&tree[i].lch);
		scanf("%d",&tree[i].rch);
	}
	for(int i=1;i<=n;i++){
		ans=0;
		dfs(i,1);
//		printf("%d\n",ans); 
		if(ending>ans) swap(ending,ans);
	}
	printf("%d",ending);
	return 0;
}

2023/8/22 15:49
加载中...