• BUPT复试专题—统计节点个数(2013)


    题目描述

    给出一棵有向树,一共有n个节点,如果一个节点的度(入度+出度)不小于它所有儿子以及它父亲的度(如果存在父亲或儿子),那么我们称这个节点为p节点,现在你的任务是统计p节点的个数。

    如样例,第一组的p节点为1,2,3;第二组的p节点为0。

    输入

    第一行为数据组数T。
    每组数据第一行为表示树的节点数。

    后面的行,每行两个数,代表节点编号和儿子节点的编号。

     
     

    输出

    每组数据输出一行,为一个整数,代表这棵树上p节点的个数。

     
     

    样例输入

    2
    5
    0 1
    1 2
    2 3
    3 4
    3
    0 2
    0 1

    样例输出

    3
    1

    来源

    2013机考B题 

     注意此题一个节点的孩子节点不一定最多是两个

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<string>
    #include<vector>
    using namespace std;
    struct donser
    {
        int father;
        vector<int> son;
        int num;
    };
    int main() 
    {
        int T;
        cin>>T;
        while(T--)
        {
            int num=0,j=0,cout_num=0;
            donser tree[1001];
            while(j<1000)
            {
                tree[j].father=-1;tree[j].num=0;
                j++;
            }
            cin>>num;j=num-1;
            while(j--)
            {
                int m,n;
                cin>>m>>n;
                tree[m].son.push_back(n);
                tree[m].num++;
                tree[n].father=m;
                tree[n].num++;
            }
            for(int i=0;i<num;i++)
            {
                int father=tree[i].father;
                int lable=0;
                int ball=tree[i].num;
                while(tree[i].son.size())
                {
                    int sons=tree[i].son.back();
                    if(tree[sons].num>ball)
                        lable=1;
                    tree[i].son.pop_back();
                }
                if((father!=-1&&tree[father].num>ball))
                    lable=1;
                if(!lable)
                    cout_num++;
            }
            cout<<cout_num<<endl;
             
             
        }
        return 0;
    }
  • 相关阅读:
    UINavigationController的简单使用
    UIApplication
    NSOperation开启线程情况分析
    NSOperation & NSOperationQueue
    GCD 多线程 Ios 补充
    GCD中不同队列 配合 不同函数的 情况分析
    GCD详解
    is,as,sizeof,typeof,GetType
    人人必知的10个jQuery小技巧
    移动设备wap手机网页html5通过特殊链接:打电话,发短信,发邮件详细教程
  • 原文地址:https://www.cnblogs.com/dzzy/p/8577021.html
Copyright © 2020-2023  润新知