zoukankan      html  css  js  c++  java
  • hdu 4707 Pet hdu 2013 Asia Regional Online —— Warmup

      一道简单的搜索题目,建一个树,根节点是 0 ,连接的两个节点的距离是 1 ,求 到 根节点长度是2的节点的个数。

      

    #include<stdio.h>
    #include<string.h>
    
    struct node{
        int next,to;
        int step;
    };
    node edge[100010];
    int tot;
    int head[100010];
    int N,D,ans;
    
    void Add(int x,int y)
    {
        edge[tot].to=y;
        edge[tot].next=head[x];
        head[x]=tot++;
    }
    void DFS(int x,int step)
    {
        if(head[x]==-1)
            return ;
        for(int i=head[x];i!=-1;i=edge[i].next)
        {
            int y=edge[i].to;
            edge[i].step=step+1;
            if(edge[i].step>D)
                ans++;
            DFS(y,edge[i].step);
        }
    }
    int main()
    {
        int T;
        int x,y;
        scanf("%d",&T);
        while(T--)
        {
            memset(head,-1,sizeof(head));
            memset(edge,0,sizeof(edge));
            ans=0;
            tot=0;
            scanf("%d%d",&N,&D);
            for(int i=0;i<N-1;i++)
            {
                scanf("%d%d",&x,&y);
                Add(x,y);
            }
            DFS(0,0);
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    指针理解
    http和https区别
    js 日历控件
    Linux 目录详解!(转)
    互换位置输出
    晨时跌荡起伏的心情
    c++冒泡排序
    游标使用
    防止Sql注入
    ssl加密原理
  • 原文地址:https://www.cnblogs.com/yongren1zu/p/3308893.html
Copyright © 2011-2022 走看看