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

hdu 4707 dfs+前向星

时间:2015-01-17 11:16:18      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:dfs



#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;

struct node
{
    int to,next;
}A[100010];
int list[100010];
int tot,n,d;
int deal(int a,int b)
{
    A[++tot].to=b;
    A[tot].next=list[a];
    list[a]=tot;
    return 0;    
}
int dfs(int a,int t)
{
    if(t>=d) return 1;
    int i,sum=1;
    for(i=list[a];i>=0;i=A[i].next)
    {
        int k=A[i].to;
        sum+=dfs(k,t+1);    
    }    
    return sum;
}
int main()
{
    int T,i,j,a,b;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d",&n,&d);
        tot=1;
        memset(list,-1,sizeof(list));
        for(i=1;i<n;i++)
        {
            scanf("%d%d",&a,&b);
            deal(a,b);
        }
        int k=dfs(0,0);
        printf("%d\n",n-k);
    }
    return 0;
}

hdu 4707 dfs+前向星

标签:dfs

原文地址:http://blog.csdn.net/zxf654073270/article/details/42803755

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