dfs 测试很多样例,但答案不是re就是wa
查看原帖
dfs 测试很多样例,但答案不是re就是wa
1171003
zzz987楼主2024/5/25 18:26
#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#define INF 0x3f3f3f3f
using namespace std;
const int N=1e5+9;
int n,m;
bool st[N];
int h[N],e[N],ne[N],w[N],idx;
queue <int> q;
void add(int x,int y){
	e[idx]=y,ne[idx]=h[x],h[x]=idx++;
}
int ans=0;
void dfs(int now,int len){
//	cout <<now<<" "<<len<<endl;
	if(len>m)	return ;
	st[now]=true;
	ans++;
	for(int i=h[now];i!=-1;i=ne[i]){
		int j=e[i];
		if(!st[j]){
			dfs(j,len+1);
		}
	}
}
signed main(){		
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	memset(h,-1,sizeof h);
	cin >>n>>m;
	for(int i=1;i<n;i++){
		int a,b;	cin >>a>>b;
		add(a,b),add(b,a);
	}
	dfs(1,0);
	cout <<ans-1;
	return 0;
}

2024/5/25 18:26
加载中...