zoukankan      html  css  js  c++  java
  • hdu 4707 仓鼠 记录深度 (BFS)

    题意:linji的仓鼠丢了,他要找回仓鼠,他在房间0放了一块奶酪,按照抓鼠手册所说,这块奶酪可以吸引距离它D的仓鼠,但是仓鼠还是没有出现,现在给出一张关系图,表示各个房间的关系,相邻房间距离为1,而且图中没有回路,每个房间都是联通的,求仓鼠可能出现的房间的数量。

    Sample Input
    1
    10 2
    0 1
    0 2
    0 3
    1 4
    1 5
    2 6
    3 7
    4 8
    6 9

    Sample Output
    2

     1 #include <cstdio>
     2 #include <algorithm>
     3 #include <iostream>
     4 #include <vector>
     5 #include <queue>
     6 
     7 using namespace std;
     8 
     9 const int MAXN = 100010;
    10 vector<int>vec[MAXN];
    11 int dep[MAXN];
    12 int pre[MAXN];
    13 void bfs(int s)
    14 {
    15     memset(dep,-1,sizeof(dep));
    16     dep[s] = 0;
    17     queue<int>q;
    18     q.push(s);
    19     while(!q.empty())
    20     {
    21         int u = q.front();
    22         q.pop();
    23         int sz = vec[u].size();
    24         for(int i = 0;i < sz;i++)
    25         {
    26             int v = vec[u][i];
    27 
    28             if(dep[v] != -1)continue;
    29             dep[v] = dep[u] + 1;
    30             pre[v] = u;
    31             q.push(v);
    32         }
    33     }
    34 }
    35 int main()
    36 {
    37     //freopen("in.txt","r",stdin) ;
    38     int T;
    39     int n;
    40     int D;
    41     scanf("%d",&T);
    42     while(T--)
    43     {
    44         scanf("%d%d",&n,&D);
    45         int u,v;
    46         for(int i = 0;i < n;i++)
    47             vec[i].clear();
    48         for(int i = 1;i < n;i++)
    49         {
    50             scanf("%d%d",&u,&v);
    51             vec[u].push_back(v);
    52             vec[v].push_back(u);
    53         }
    54 
    55         bfs(0);
    56         int ans = 0;
    57         for(int i = 0;i < n;i++)
    58             if(dep[i] > D)
    59                 ans++;
    60         cout<<ans<<endl;
    61     }
    62     return 0;
    63 }
    View Code
  • 相关阅读:
    动态库的创建与使用
    静态库创建与链接
    tail命令使用
    hosts文件
    dns文件
    整数编码
    多线程之间同步
    多线程编程基础
    进程间通信——信号量
    进程间通信——管道
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/4507087.html
Copyright © 2011-2022 走看看