zoukankan      html  css  js  c++  java
  • poj2378

    #include<cstdio>
    #include<algorithm>
    #include<vector>
    using namespace std;
    const int maxn=1e4+10;
    vector<int> e[maxn];
    int vis[maxn];
    int ans[maxn],cnt;
    int v[maxn];
    int n;
    int dfs(int x)
    {
        v[x]=1;
        int sum=1;
        int childmax=0;
        for(int i=0; i<e[x].size(); i++)
        {
            int y=e[x][i];
            if(v[y]==1) continue;
            int dian=dfs(y);
            sum+=dian;
            childmax=max(childmax,dian);
        }
        if(childmax<=n/2&&(n-sum)<=n/2)
            ans[++cnt]=x;
        return sum;
    }
    int main()
    {
    
        scanf("%d",&n);
        for(int i=1; i<=n-1; i++)
        {
            int a,b;
            scanf("%d%d",&a,&b);
            e[a].push_back(b);
            e[b].push_back(a);
            vis[b]=1;
        }
        int root;
        for(int i=1; i<=n; i++)
        {
            if(vis[i]==0)
            {
                root=i;
                break;
            }
        }
    //    printf("root=%d
    ",root);
        dfs(root);
        sort(ans+1,ans+1+cnt);
        for(int i=1; i<=cnt; i++)
        {
            if(i!=cnt) printf("%d
    ",ans[i]);
            else printf("%d",ans[i]);
        }
    }
  • 相关阅读:
    Docker入门
    服务配置中心
    zuul网关
    git2
    git1
    git
    shiro授权、注解式开发
    shiro认证-SSM
    Shiro入门
    Springmvc之文件上传
  • 原文地址:https://www.cnblogs.com/dongdong25800/p/10992586.html
Copyright © 2011-2022 走看看