路径权值和
2025-02-03 13:26:21
发布于:上海
#include<bits/stdc++.h>
using namespace std;
struct node{
int a;//点
int b;//边权重
};
vector<node> tr[110];
int n;
int ans;
void dfs(int u,int fa,int sum){
ans = max(ans,sum);//求最大路径和
for(node son:tr[u]){
if(son.a==fa)continue;
dfs(son.a,u,sum+son.b);
}
}
int main(){
cin>>n;
for(int i=0;i<n-1;i++){
int x,y,c;
cin>>x>>y>>c;
tr[x].push_back({y,c});
tr[y].push_back({x,c});
}
dfs(0,-1,0);
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个