竞赛讨论区 > 请问为什么段错误呐

请问为什么段错误呐

头像
簪花郎
发布于 2021-05-16 22:55:08 APP内打开
赞 0 | 收藏 0 | 回复1 | 浏览187
#include c++.h>
using namespace std;
const int N=5e4+1;
int n,x,res,mx;
vector<int> v1[N],v2[N];
int bb[5001];
void add(int a,int b,int c){v1[a].push_back(b),v2[a].push_back(c);}
void dfs(int x,int d){
    bb[x]=1;
    if(d>mx)mx=d;
    for(int i=0;i<v1[x].size();i++){
        if(bb[v1[x][i]]==0){
        int w=v2[x][i];
        int to=v1[x][i];
        dfs(to,d+w);
        }
    }
}
signed main(){
    cin>>n>>x;
    for(int i=1,a,b,c;i<n;i++) {
        cin>>a>>b>>c;
        add(a,b,c);
        add(b,a,c);
        res+=(c<<1);
    }
    bb[x]=1;
    dfs(x,0);
    cout<<res-mx<<endl;
    return 0;
}

1条回帖

回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐