码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-03-16 00:20:33      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:desc   sea   ace   mat   sample   一个   href   for   php   

题目描述

给出一棵有向树,一共有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>
using namespace std;
struct donser
{
    int father;
    int son1;
    int son2;
    int num;
};
int main() 
{
    int T;
    cin>>T;
    while(T--)
    {
        int num=0,j=0,cout_num=0;
        donser tree[200];
        while(j<19)
        {
            tree[j].father=-1;tree[j].son1=-1;tree[j].son2=-1;tree[j].num=0;
            j++;
        }
        cin>>num;j=num-1;
        while(j--)
        {
            int m,n;
            cin>>m>>n;
            if(tree[m].son1==-1)
            {
                tree[m].son1=n;
                tree[m].num++;
            }
            else if(tree[m].son1!=-1)
            {
                tree[m].son2=n;
                tree[m].num++;
            }
            tree[n].father=m;
            tree[n].num++;
        }
        for(int i=0;i<num;i++)
        {
            int father=tree[i].father;
            int son1=tree[i].son1;
            int son2=tree[i].son2;
            int num=tree[i].num;
            if((father!=-1&&tree[father].num<=num)||father==-1)
            {
                if((son1!=-1&&tree[son1].num<=num)||son1==-1)
                {
                    if((son2!=-1&&tree[son2].num<=num)||son2==-1)
                    {
                        cout_num++;
                    }
                }
                
            }
        }
        cout<<cout_num<<endl;
        
    }
    return 0;
}

 

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

标签:desc   sea   ace   mat   sample   一个   href   for   php   

原文地址:https://www.cnblogs.com/dzzy/p/8577021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!