hdu_4707
算是水题一道吧,我也没有建树,看别人又用vector,又用bfs,dfs的,对vector不熟,所以就模拟了一下
#include<iostream>
#include<string.h>
#include<cstdio>
using namespace std;
int a[100005];
int main()
{
int t;cin>>t;
while(t--)
{
int n,k,p,q;
cin>>n>>k;
a[0]=0;
memset(a,0,sizeof(a));
for(int i=0;i<n-1;i++)
{
scanf("%d%d",&p,&q);
a[q]=a[p]+1;
}
p=0;
for(int i=0;i<n;i++)
if(a[i]>k)
p++;
cout<<p<<endl;
}
return 0;
}
附上别人的代码
#include <cstdio>
#include <cstring> using namespace std; const int maxn = 100000 + 10; int D, head[maxn], nxt[maxn<<1], v[maxn<<1], ecnt, d[maxn], ret; void init(){
memset(head, -1, sizeof(head));
ecnt = 0;
ret = 0;
} void addEdge(int uu, int vv){
v[ecnt] = vv;
nxt[ecnt] = head[uu];
head[uu] = ecnt;
ecnt++;
} void dfs(int x, int fa){
if(d[x] > D) ret++;
for(int e = head[x]; e != -1; e = nxt[e]) if(v[e] != fa){
d[v[e]] = d[x] + 1;
dfs(v[e], x);
}
} void solve(){
d[0] = 0;
dfs(0, -1);
printf("%d\n", ret);
} int main()
{
int T, N, uu, vv;
scanf("%d", &T);
while(T--){
init();
scanf("%d%d", &N, &D);
for(int i = 0; i < N-1; i++){
scanf("%d%d", &uu, &vv);
addEdge(uu, vv);
addEdge(vv, uu);
}
solve();
}
return 0;
}
hdu_4707的更多相关文章
随机推荐
- [Phonegap+Sencha Touch] 移动开发19 某些安卓手机上弹出消息框 点击后不消失的解决的方法
Ext.Msg.alert等弹出框在某些安卓手机上,点击确定后不消失. 原因是: 消息框点击确定后有一段css3 transform动画,动画完毕后才会隐藏(display:none). 有些奇葩手机 ...
- codecombat之边远地区的森林1-11关及地牢38关代码分享
codecombat中国游戏网址:http://www.codecombat.cn/ 全部代码为javascript代码分享 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- 2015.03.16,外语,读书笔记-《Word Power Made Easy》 00 “如何最大限度的利用本书”学习笔记
备注:蓝色表明是自己学习或笔记的部分,红色表明特别的地方,例如自己不理解或需要重点关注的地方.加粗单词表明是要加入生词库学习的词语.单词后面括号中的蓝色部分,是单词的解释和音标. 1.this is ...
- 我的Android进阶之旅------>android Button上面的英文字符串自己主动大写的问题解决
今天碰到一个关于Button的问题:android Button上面的英文字符串会自己主动变成大写,执行的Android 5.1版本号,例如以下图所看到的: 图1:Button 图2:TextView ...
- 编译最新版webrtc源码和编译好的整个项目10多个G【分享】
编译最新版webrtc源码和编译好的整个项目10多个G[分享] 参考https://webrtc.org/native-code/development/编译最新版webrtc源码: Git clon ...
- 迭代Iterator的用法
迭代→遍历: 一个标准化遍历各类容器里面的所有对象的方法类(典型的设计模式) 把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构 迭代(Iterator)与枚举(Enumera ...
- React组件化开发
环境搭建: 1.安装node.js 2.安装cnpm # npm install -g cnpm --registry=https://registry.npm.taobao.org 3.全局安装c ...
- Java NIO(二)缓冲区
概念 缓冲区:一个用于特定基本数据类型的容器,由java.nio包定义的所有缓冲区都是Buffer抽象类的子类.其作用于与NIO的通道进行交互,数据从通道读入缓冲区,数据从缓冲区写入通道 Buffer ...
- Linux学习日记——字符处理
(菜鸡学习日记 各种使用命令只列举了常用几种,发现错误望指正) 一.管道 在Linux 中,管道就是一个固定大小的缓冲区,大小为一页4K.它是一种通信的机制,可以使用管道符“ | ” 来连接进程,连接 ...
- iOS性能优化专题
http://wereadteam.github.io/2016/05/03/WeRead-Performance/ https://www.cnblogs.com/oc-bowen/p/599999 ...