全WA,DFS求助
查看原帖
全WA,DFS求助
684031
皓月星辉楼主2023/7/18 22:22
#include<bits/stdc++.h>
using namespace std;
int n,d,u,v,ans;
bool f[200005];
vector<int>e[200005];
void DFS_(int k,int t)
{
	//cout<<k<<" "<<t<<" ";
	if(k>=d)
	{
		ans++;
		return ;
	}
	int m=e[t].size();
	//cout<<m<<endl;
	for(int i=0;i<m;i++)
	{
		//cout<<i<<" "<<e[t][i]<<" "<<f[e[t][i]]<<endl;
		if(f[e[t][i]])continue;
		f[e[t][i]]=1;
		DFS_(k+1,e[t][i]);
		f[e[t][i]]=0;
	}
}
int main()
{
	cin>>n>>d;
	for(int i=1;i<n;i++)
	{
		cin>>u>>v;
		e[u].push_back(v);
		e[v].push_back(u);
	}
	/*for(int i=1;i<=n;i++)
	{
		for(int j=0;j<e[i].size();j++)cout<<e[i][j]<<" ";
		cout<<endl;
	}*/
	DFS_(0,1);
	cout<<ans;
	return 0;
}
2023/7/18 22:22
加载中...