求问为什么能过
查看原帖
求问为什么能过
1200191
封禁用户楼主2024/12/29 10:01
#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就能过了

2024/12/29 10:01
加载中...