样例没过,为什么输出2?
查看原帖
样例没过,为什么输出2?
1435980
lijunxian_0818_2楼主2024/9/21 20:01
#include<bits/stdc++.h>
using namespace std;
const int N=1000010;
bool vis[N];
int n,d,ans;
vector <int>v[N];
void dfs(int now,int cnt){
	vis[now]=1;
	if(cnt==d) return;
	for(int i=1;i<v[now].size();i++){
		if(!vis[v[now][i]])
		{
			dfs(v[now][i],cnt+1);
			ans++;
		}
	}
}
int main()
{
	cin>>n>>d;
	for(int i=1;i<n;i++){
		int x,y;cin>>x>>y;
		v[x].push_back(y);
		v[y].push_back(x);
	}
	dfs(1,0);
	cout<<ans<<endl;
	
	return 0;
}
2024/9/21 20:01
加载中...