0分
查看原帖
0分
1168199
leidayu楼主2023/11/16 11:03
#include<iostream>
using namespace std;
int flag[100001];
int pre[100001];
int n, d, res;
void dfs(int begin,int dist) {
    flag[begin] = 1;
    if (dist == d) { return; }
    for (int i = 1; i <= n; i++) {
        if (!flag[i] && pre[i] == begin) {
            dfs(i, dist + 1);
            res++;
        }
    }

}
int main() {
    cin >> n >> d;
    for (int i = 1; i <= n-1; i++) {
        int x, y;
        cin >> x >> y;
        pre[y] = x;
    }
    dfs(1,0);
    cout << res;
}
2023/11/16 11:03
加载中...