zoukankan      html  css  js  c++  java
  • Pet(dfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=4707

    题意:判断距离大于D的点有多少个。

    思路: 邻接表建图,dfs每一个点,记录步数。

     1 #include <stdio.h>
     2 #include <string.h>
     3 const int N=200002;
     4 int vis[N],dis[N],head[N],cnt,step;
     5 struct node
     6 {
     7     int u;
     8     int v;
     9     int next;
    10 } edge[N];
    11 void add(int u,int v)
    12 {
    13     edge[cnt].u = u;
    14     edge[cnt].v = v;
    15     edge[cnt].next = head[u];
    16     head[u] = cnt++;
    17 };
    18 void dfs(int u,int step)
    19 {
    20     if (vis[u])
    21         return ;
    22     dis[u] = step;
    23     vis[u] = 1;
    24     for (int j = head[u]; j != -1; j = edge[j].next)
    25     {
    26         int v = edge[j].v;
    27         if (!vis[v])
    28         {
    29             dfs(v,step+1);
    30         }
    31     }
    32     return ;
    33 }
    34 void init()
    35 {
    36     memset(head,-1,sizeof(head));
    37     memset(vis,0,sizeof(vis));
    38     cnt = 0;
    39 
    40 }
    41 int main()
    42 {
    43     int t,n,d,u,v;
    44     scanf("%d",&t);
    45     while(t--)
    46     {
    47         scanf("%d%d",&n,&d);
    48         init();
    49         for (int i = 1; i < n; i ++)
    50         {
    51             scanf("%d%d",&u,&v);
    52             add(u,v);
    53             add(v,u);
    54         }
    55         dfs(0,0);
    56         int ans = 0;
    57         for (int i = 0; i < n; i ++)
    58         {
    59             if (dis[i] > d)
    60                 ans++;
    61         }
    62         printf("%d
    ",ans);
    63     }
    64     return 0;
    65 }
    View Code
  • 相关阅读:
    比SRCNN效果好的传统超分辨率算法汇总
    CSS3 2D转换
    CSS3 文本效果
    CSS3 Gradients(渐变)
    CSS3 背景
    CSS3 圆角
    CSS3 边框
    CSS3 简介
    CSS 属性选择器
    CSS 媒体类型
  • 原文地址:https://www.cnblogs.com/lahblogs/p/3319045.html
Copyright © 2011-2022 走看看