#include <iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=105;
vector<int> G[N];
int in[N],sub[N];
bool vis[N];
int cas=1;
int T,n,m,k,tot;
void init()
{
for(int i=0;i<N;i++)
G[i].clear();
memset(in,0,sizeof(in));
}
void dfs(int rt)
{
sub[rt]=1;
for(int i=0;i<G[rt].size();i++)
{
int u=G[rt][i];
dfs(u);
sub[rt]+=sub[u];
}
}
int main()
{
while(scanf("%d%d",&n,&k)!=EOF)
{
init();
for(int i=0;i<n-1;i++)
{
int u,v;
scanf("%d%d",&u,&v);
G[u].push_back(v);
in[v]++;
}
int root=1;
for(;root<=n;root++)
{
if(in[root]==0)
break;
}
dfs(root);
int sum=0;
for(int i=1;i<=n;i++)
{
if(sub[i]==k+1)
sum++;
}
printf("%d\n",sum);
}
return 0;
}
<img alt="害羞" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/shy.gif" />
hdu 5326
最新推荐文章于 2017-04-30 14:39:17 发布