题目链接:http://codeforces.com/contest/580/problem/C

#include<cstdio>
#include<vector>
#include<cstring>
#define MAX 100010
using namespace std;
vector <int> a[MAX];
int visit[MAX];
int cat[MAX];
int leaf[MAX];
int ans,m;
void dfs(int x,int numcat)
{if(visit[x])return;elsevisit[x]=1;if(cat[x])numcat++;elsenumcat=0;if(numcat>m)return;if(leaf[x]==1&&x!=1)ans++;int len=a[x].size();for(int i=0;i<len;i++)dfs(a[x][i],numcat);
}
int main()
{int n,i,j,k,numcat;while(~scanf("%d%d",&n,&m)){numcat=ans=0;memset(visit,0,sizeof(visit));memset(leaf,0,sizeof(leaf));for(i=1;i<=n;i++){scanf("%d",&cat[i]);a[i].clear();}for(i=1;i<=n-1;i++){scanf("%d%d",&j,&k);a[j].push_back(k);a[k].push_back(j);leaf[j]++;leaf[k]++;}dfs(1,0);printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/westwind1005/p/5975243.html

codeforces 580C Kefa and Park(DFS)相关推荐

  1. Codeforces 930 A. Peculiar apple-tree (dfs)

    题目: 代码: #include <bits\stdc++.h> using namespace std;int b[100010]; //b[i]表示距离1号花絮i步的花絮的个数 map ...

  2. 三十二、图的创建深度优先遍历(DFS)广度优先遍历(BFS)

    一.图的基本介绍 为什么要有图 前面我们学了线性表和树 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要表示多对多的关系时, 这里我们就用到了图. 图的举例 ...

  3. 【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现

    有关离散傅里叶级数(DFS)我之前也写过一些博文,例如:离散周期信号的傅里叶级数(DFS) 这里我再次给出标准公式. 分析式: 其中: 综合式: 这里我必须先声明,关于分析式和综合式前面那个系数1/N ...

  4. 部署分布式文件系统(DFS)

    部署分布式文件系统(DFS) 使用 DFS 命名空间,可以将位于不同服务器上的共享文件夹组合到一个或多个逻辑结构的命名空间.每个命名空间作为具有一系列子文件夹的单个共享文件夹显示给用户.但是,命名空间 ...

  5. Java实现算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)

    对算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)用Java实现其中的伪代码算法,案例也采用算法导论中的图. import java.util.ArrayList; import java ...

  6. 广度优先搜索(BFS)与深度优先搜索(DFS)

    一.广度优先搜索(BFS) 1.二叉树代码 # 实现一个二叉树 class TreeNode:def __init__(self, x):self.val = xself.left = Nonesel ...

  7. 7.9模拟赛T1图的遍历(dfs)

    图的遍历(dfs) [题目描述] 对于一个有向图G来说,我们存在一个经典的遍历算法,就是DFS (深度优先搜索遍历).将G以1号点为起点进行DFS后,我们可以 得到G的一棵DFS遍历树T.就此,我们可 ...

  8. 7.6 T1 深度优先搜索(dfs)

    深度优先搜索(dfs) [题目描述] sol:50pts随便写写,就是大众分了,直接n2dpOK,100分要找点规律,需要数学头脑 官方题解 //#include <bits/stdc++.h& ...

  9. 二叉树的深度优先遍历(DFS)与广度优先遍历(BFS)

    二叉树的深度优先遍历(DFS)与广度优先遍历(BFS) 深度优先遍历:从根节点出发,沿着左子树方向进行纵向遍历,直到找到叶子节点为止.然后回溯到前一个节点,进行右子树节点的遍历,直到遍历完所有可达节点 ...

最新文章

  1. 点云深度学习研究现状与趋势
  2. Android SDK版本号 与 API Level 对应关系
  3. 前端笔记之NodeJS(三)Expressejs模板引擎请求识别
  4. 如何优雅的激怒C/C++程序员
  5. Rancher体系下容器日志采集
  6. Robot Framework(4)——Selenium2Library关键字
  7. 沃尔玛实验室 —— 为什么我们要启动开源计划
  8. Revit导入CAD翻模丨CAD图层管理控制显示隐藏图层
  9. 三、数学建模之灰色关联分析【清风数学建模个人笔记】
  10. 计算机应用研究英文稿,英文文摘要编写要求
  11. CSU 1681 Adjoin(树形dp 树的直径)
  12. python怎么交换xy轴_matplotlib Y轴和X轴交换
  13. snkrs抽签协议获取
  14. 常州大学 计算机与人工智能学院,常熟理工学院新闻网
  15. 二十一、Java8新特性——Stream API【黑马JavaSE笔记】
  16. 打卡复旦MBA首场公开课暨招生宣讲会,在不确定性中寻找确定性
  17. 图片大小、像素、分辨率之间的关系
  18. 雷军:只要不让公司翻船 你就能去做
  19. IntelliJ IDEA 设置编码为utf-8编码(各种中文乱码问题解决)
  20. 解决电脑扩展屏幕模糊的小技巧

热门文章

  1. html标签默认值,HTML标签CSS属性默认值汇总
  2. 用java程序写日历_用Java和C#写一个日历
  3. java struts 拦截器_java框架篇---struts实现拦截器
  4. Android的Fragment中onActivityResult不被调用的解决方案
  5. 持久化存储技术之SharedPreferences存储
  6. 程序员的小技能,1行代码修改开机密码、1张图片让你电脑死机
  7. layui + jfinal 实现上传下载
  8. 移动大数据时代:无线网络的挑战与机遇
  9. AVD Manager
  10. android中当内容超出一页,滚动条滚动到某一个位置的另一个思路