zoukankan      html  css  js  c++  java
  • 树—— 找树根和孩子

    题目描述

    给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子

    输入

    第一行:n(结点数<=100),m(边数<=200)。    
     以下m行;每行两个结点x和y,表示y是x的孩子(x,y<=1000)。 

    输出

    第一行:树根:root。 
    第二行:孩子最多的结点max。 
    第三行:max的孩子。

    样例输入

    8 7
    4 1
    4 2
    1 3
    1 5
    2 6
    2 7
    2 8

    样例输出

    4
    2
    6 7 8

     这道题还是不难的,基本上只要思路正确,不用写多长时间。

    #include<bits/stdc++.h>
    using namespace std;
    int m,n,a[1000],b[1000],num[10000],ant=0,u,k,l,x,y,maxx=0;
    int main()
    {
    //    freopen("找树根和孩子.in","r",stdin);
        //freopen("找树根和孩子.out","w",stdout);
        cin>>n>>m;
        for(int  i=1;i<=m;i++)
        {
            cin>>x>>y;
            a[y]=x;
        }
        for(int i=1;i<=n;i++)
        {
            if(a[i]==0)
            {
                u=i;
                break;
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                if(a[j]==i)
                {
                    ant++;
                }
            }
            if(ant>maxx)
            {
                maxx=ant;
                l=i;
            }
            ant=0;
        }
        cout<<u<<"
    ";
        cout<<l<<"
    ";
        for(int i=1;i<=n;i++)
        {
            if(a[i]==l)
            cout<<i<<" ";
        }
        return 0;
    } 
  • 相关阅读:
    #455. 【UER #8】雪灾与外卖
    lmh's邻位交换总结
    [ARC088C] Papple Sort
    【模板】二次剩余
    P3241 [HNOI2015]开店
    P4248 [AHOI2013]差异
    P6640 [BJOI2020] 封印
    【笔记】牛客、产品笔试题
    【笔记】TX笔试-压缩算法
    【笔记】分组
  • 原文地址:https://www.cnblogs.com/5t2y0/p/9558865.html
Copyright © 2011-2022 走看看