hdu 4707 Pet
2015-09-08 21:27
316 查看
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4707
[code]#include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<vector> #include<map> using std::map; using std::min; using std::sort; using std::pair; using std::vector; using std::multimap; #define pb(e) push_back(e) #define sz(c) (int)(c).size() #define mp(a, b) make_pair(a, b) #define all(c) (c).begin(), (c).end() #define iter(c) __typeof((c).begin()) #define cls(arr, val) memset(arr, val, sizeof(arr)) #define cpresent(c, e) (find(all(c), (e)) != (c).end()) #define rep(i, n) for(int i = 0; i < (int)n; i++) #define tr(c, i) for(iter(c) i = (c).begin(); i != (c).end(); ++i) const int N = 100010; const int INF = 0x3f3f3f3f; int n, d, ans; vector<int> G ; void init() { rep(i, n) { G[i].clear(); } } void built() { int u, v; rep(i, n - 1) { scanf("%d %d", &u, &v); G[u].pb(v); G[v].pb(u); } } void dfs(int u, int fa, int dep) { if(dep > d) ans++; int m = sz(G[u]); for(int i = 0; i < m; i++) { int to = G[u][i]; if(to != fa) { dfs(to, u, dep + 1); } } } void solve() { ans = 0; init(), built(); dfs(0, -1, 0); printf("%d\n", ans); } int main() { #ifdef LOCAL freopen("in.txt", "r", stdin); freopen("out.txt", "w+", stdout); #endif int t; scanf("%d", &t); while(t--) { scanf("%d %d", &n, &d); solve(); } return 0; }
相关文章推荐
- 第一章 C#概论
- hdu 2444判定二分图+最大匹配
- poj1308 并查集
- Linux网络属性配置管理及其相关命令
- Objective-C之深拷贝与浅拷贝
- 不看别人
- 代理模式
- lintcode-带重复元素的排列 -16
- hdu 4405 Aeroplane chess(概率dp)
- mysql group by 用法解析(详细)
- 完整版单例代码
- poj 3390 Print Words in Lines 动态规划
- Linux精品之NFS介绍与应用(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)
- unity3D-----------socket客户端、服务器(简单)
- Spring定时任务的几种实现
- 第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用
- django 1.8 官方文档翻译: 2-5-7 自定义查找
- 简单Latex
- UI中的隐藏键盘的三个小方法
- [转] MemCached 的 stats 命令