• 多校Work


    Work
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 0    Accepted Submission(s): 0
    Problem Description
    
    多校Work - 凌晨一点 - 虚灵
    
     
    
    It’s an interesting experience to move from ICPC to work, end my college life and start a brand new journey in company.
    As is known to all, every stuff in a company has a title, everyone except the boss has a direct leader, and all the relationship forms a tree. If A’s title is higher than B(A is the direct or indirect leader of B), we call it A manages B.
    Now, give you the relation of a company, can you calculate how many people manage k people.

     
    Input

    There are multiple test cases.
    Each test case begins with two integers n and k, n indicates the number of stuff of the company.
    Each of the following n-1 lines has two integers A and B, means A is the direct leader of B.
    1 <= n <= 100 , 0 <= k < n
    1 <= A, B <= n

     
    Output

    For each test case, output the answer as described above.

     
    Sample Input

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

     
    Sample Output

    2
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <algorithm>
    #include<map>
    using namespace std;
    int t;
    int n,k;
    int a,b;
    int leader[105][105];
    int lea[105];
    int sum;
    void dg(int i)
    {
        if(i>=n||lea[i]==0)
            return ;
        for(int j=1; j<=n; j++)
        {
            if(leader[i][j])
            {
                sum+=lea[j];
                dg(j);
            }
        }
    }
    int main()
    {
        int m;
        while(~scanf("%d%d",&n,&k))
        {
            t=0;
            memset(leader,0,sizeof(leader));
            memset(lea,0,sizeof(lea));
            m=n-1;
            while(m--)
            {
                scanf("%d%d",&a,&b);
                leader[a][b]=1;
                lea[a]++;
            }
            for(int i=1; i<=n; i++)
            {
                sum=lea[i];
                dg(i);
                if(sum==k)
                    t++;
            }
            printf("%d
    ",t);
        }
    
    }
  • 相关阅读:
    NHibernate中多表(对象)间的查询
    将datagrid数据导到excel的一个问题
    win2003<IIS6>部署.net 4.0<asp.net 4>
    C# 单元测试
    office2010 word发布博客 博客园
    语义化的HTML首先要强调HTML结构
    SQL Server 2005 安装(各种错误)
    SWFUpload V2.2.0 说明文档
    SQL Server 复制, 集群
    高亮插件测试
  • 原文地址:https://www.cnblogs.com/dshn/p/4750587.html
Copyright © 2020-2023  润新知