求助大佬输入问题
查看原帖
求助大佬输入问题
631896
Wangtsjo楼主2022/9/23 19:42

我想不明白为什么会多一行输入

挑不出什么毛病了,但输入就是会莫名其妙的多一行,如果把最后多出来的一行输入胡乱输进去,会报错((((((())))))))

#include<bits/stdc++.h>
using namespace std;
vector<int> son[16010];
int n,a[16010],dp[16010];
int ans=-2147483647;
void dfs(int fa,int x){
	dp[x]=a[x];
	for(int i=0;i<son[x].size();i++){
		int t=son[x][i];
		if(t!=fa){
			dfs(x,t);
			if(dp[t]>0) dp[x]+=dp[t];
		}
	}
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	for(int i=1;i<=n-1;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		son[y].push_back(x);
		son[x].push_back(y);
	}
	dfs(0,1);
	for(int i=1;i<=n;i++) ans=max(ans,dp[i]);
	scanf("%d",ans);
	return 0;
} 

谢谢大佬(卑微)

2022/9/23 19:42
加载中...