1 条题解

  • 0
    @ 2026-5-31 16:17:11
    #include <bits/stdc++.h>
    using namespace std;
    const int maxn=300010;
    vector<int> v1[maxn];
    int n;
    bool vis[maxn];
    int dis[maxn];
    
    void dfs(int u){
    	vis[u]=1;
    	for(int i : v1[u]){
    		if(!vis[i]) dfs(i), dis[u]+=dis[i];
    	}
    	dis[u]++;
    }
    signed main()
    {
    	ios::sync_with_stdio(false);
    	cin.tie(0);
    	cout.tie(0);
    	cin>>n;
    	for(int i=1; i<n; i++){
    		int u, v;
    		cin>>u>>v;
    		v1[u].push_back(v);
    		v1[v].push_back(u);
    	}
    	dfs(1);
    	int sum=0, maxx=0;
    	for(int i : v1[1]){
    		sum+=dis[i];
    		maxx=max(maxx, dis[i]);
    	}
    	cout<<sum-maxx+1;
    	return 0;
    }
    • 1

    信息

    ID
    8279
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    5
    已通过
    2
    上传者