dfS没错啊,全wa,样例能过,悬赏关注4~5,qiuzhu
查看原帖
dfS没错啊,全wa,样例能过,悬赏关注4~5,qiuzhu
866969
telankesi楼主2023/5/10 16:53
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n, d;
typedef struct Edge {
	int x, y;
	int next;
}	E;
E e[100010] = {0};
int h[100010];//顶点的第一条边存储 
int v[100010];
void dfs(int i, int dis, int& num) {
	if (v[i] == 1 || dis > d)return;
	v[i] = 1;
	num++;
	for (int j = h[i]; j; j = e[j].next) {
		if (e[j].x == i)
			dfs(e[j].y, dis + 1, num);
	}

	return;
}
int main() {
	scanf("%d %d", &n, &d);
	int u, v;
	
	for (int i = 1; i <= n - 1; i++) {
		scanf("%d %d", &u,&v);
		e[i].next = h[u];
		e[i].x = u;
		e[i].y = v;
		h[u] = i;
	}
	int num = -1;
	dfs(1, 0, num);
	cout << num;
	return 0;
}
2023/5/10 16:53
加载中...