zoukankan      html  css  js  c++  java
  • HDU 5326(2015多校3)-Work(dfs)

    题目地址:HDU 5326
    题意:给一张有向图n个点。n - 1(。。。。输入n-1)条边。

    A指向B代表A管理B。然后能够间接管理,比方A管理B,B管理C。则A管理C。

    如今问管理k个人的人有多少个。

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    #include <sstream>
    #include <algorithm>
    #include <set>
    #include <queue>
    #include <stack>
    #include <map>
    //#pragma comment(linker, "/STACK:102400000,102400000")
    using namespace std;
    typedef long long LL;
    const int inf=0x3f3f3f3f;
    const double pi= acos(-1.0);
    const double esp=1e-6;
    const int maxn=110;
    int edge[maxn][maxn];
    int sum[maxn];
    int vis[maxn];
    int n,k,cnt;
    int dfs(int u)
    {
        sum[u]=0;
        for(int i=1;i<=n;i++){
            if(edge[u][i])
                sum[u]+=dfs(i);
        }
        if(sum[u]==k)
            cnt++;
        return sum[u]+1;
    }
    int main()
    {
        int u,v,i;
        int root;
        while(~scanf("%d %d",&n,&k)){
                memset(edge,0,sizeof(edge));
                memset(sum,0,sizeof(sum));
                memset(vis,0,sizeof(vis));
                for(i=1;i<n;i++){
                    scanf("%d %d",&u,&v);
                    edge[u][v]=1;
                    vis[v]=1;
                }
                for(i=1;i<=n;i++){
                    if(!vis[i]){
                        root=i;
                        break;
                    }
                }
                cnt=0;
                dfs(root);
                printf("%d
    ",cnt);
        }
        return 0;
    }
  • 相关阅读:
    第二章:列表简介
    第三章:shell变量知识进阶
    第二章:shell变量
    WEB服务器
    第一章:变量和简单的数据类型
    第一节:python基础
    第一章:shell脚本初入门
    vim命令
    知识点一:OSI模型初识
    知识点二:HTTP超文本文件传输协议
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7285771.html
Copyright © 2011-2022 走看看