#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N = 1e5 + 7;
ll cnt=0;
bool vis[N]={false};
vector<ll> g[N];
void dfs(ll x, ll d) {
if (vis[x] || d < 0) {
return;
}
vis[x] = 1;
cnt++;
if (!d) {
return;
}
for (const int i : g[x]) {
dfs(i, d - 1);
}
}
ll n, d;
int main() {
cin >> n >> d;
for (ll i = 1; i < n; i++) {
ll u, v;
cin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);
}
dfs(1, d);
cout << --cnt << "\n";
return 0;
}
为什么我将原本最后的cnt--改成--cnt,把int全改成longlong就能过了