hdu 4707 Pet(深搜)
来源:互联网 发布:机器人编程实战 编辑:程序博客网 时间:2024/05/17 00:05
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=4707
解题思路:
题目大意:
给你n个点,标号为0~n-1,还有n-1条边,数据保证n-1条边不成环,也就是说,输入的节点为n的一棵树。根节点为0,要你求深度大于d的节点的数目。
算法思想:
从根节点0开始,dfs其所有的子节点,统计深度小于等于d的节点的数目cnt,那么答案就是n-cnt。。。
AC代码:
#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;vector<int> v[100005];int n,d;int vis[100005];void dfs(int x,int sum){ if(sum == d) return ; int l = v[x].size(); for(int i = 0; i < l; i++){ int tmp = v[x][i]; if(!vis[tmp]){ vis[tmp] = 1; dfs(tmp,sum+1); } }}int main(){ int T; scanf("%d",&T); while(T--){ scanf("%d%d",&n,&d); int x,y; for(int i = 0; i <= n; i++) v[i].clear(); memset(vis,0,sizeof(vis)); for(int i = 0; i < n-1; i++){ scanf("%d%d",&x,&y); v[x].push_back(y); v[y].push_back(x); } vis[0] = 1; dfs(0,0); int ans = 0; for(int i = 0; i < n; i++) if(!vis[i]) ans++; printf("%d\n",ans); } return 0;}
0 0
- hdu 4707 Pet(深搜)
- hdu 4707 pet acm
- hdu 4707 Pet
- hdu - 4707 - Pet
- hdu 4707 Pet 水
- hdu(4707) Pet
- Hdu 4707 Pet -- 树形
- HDU 4707 Pet (DFS)
- hdu 4707 Pet(dfs)
- HDU 4707 Pet
- HDU 4707 Pet
- hdu 4707 Pet
- hdu 4707 Pet
- HDU 4707 Pet
- HDU 4707Pet
- hdu 4707 Pet
- HDU 4707:Pet
- hdu 4707(Pet)
- java中显示类型转换和隐式类型转换
- Bubble Cup 8 - Finals [Online Mirror]
- HelloWorld
- ListView下拉刷新
- 九九乘法表的输出
- hdu 4707 Pet(深搜)
- hdoj 1159 Common Subsequence 【LCS】
- c++构造函数&析构函数
- 2种二分查找及2种优化方式
- 非线性拟合lsqcurvefit、nlinfit
- 年总结—自强不息
- 中国的大数据何时能够落地生金
- TI am335x驱动调试记录
- 通过python 运行hadoop