标签:
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1909 Accepted Submission(s): 924
#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<string> #include<iostream> #include<cstring> #include<cmath> #include<stack> #include<queue> #include<vector> #include<map> #include<stdlib.h> #include<algorithm> #define LL __int64 #define FIN freopen("in.txt","r",stdin) using namespace std; const int MAXN = 1000000+10; vector<int> G[MAXN]; int d[MAXN]; int n,D,ans; void bfs() { memset(d,-1,sizeof(d)); d[0]=0; queue<int> Q; Q.push(0); while(!Q.empty()) { int u=Q.front(); Q.pop(); for(int i=0;i<G[u].size();i++) { int v=G[u][i]; if(d[v]==-1) { d[v]=d[u]+1; Q.push(v); } } } } void add(int u,int v) { G[u].push_back(v); G[v].push_back(u); } int main() { int kase; scanf("%d",&kase); while(kase--) { for(int i=0;i<n;i++) G[i].clear(); scanf("%d %d",&n,&D); for(int i=1;i<n;i++) { int u,v; scanf("%d %d",&u,&v); add(u,v); } bfs(); ans=0; for(int i=0;i<n;i++) if(d[i]>D) ans++; printf("%d\n",ans); } return 0; }
标签:
原文地址:http://www.cnblogs.com/clliff/p/4743606.html