#include <bits/stdc++.h>
using namespace std;
int ans;
vector<pair<int,int>> adj[1005];
int k;
void dfs(int n, int p, int longest, int cur_dist) {
	if (p != -1 and longest-cur_dist >= k) ans++;
	for (auto i:adj[n]) {
		if (i.first != p) {
			int tmp = max(longest, i.second);
			dfs(i.first, n, tmp, cur_dist+1);
		}
	}
}
int main() {
	int n; cin >> n;
	cin >> k;
	for (int i = 0; i < n-1; i++) {
		int x, y, z; cin >> x >> y >> z;
		x--;y--;
		adj[x].push_back({y,z});
		adj[y].push_back({x,z});
	}
	ans = 0;
	for (int i = 0; i < n; i++) dfs(i, -1, 0, 0);
	cout << ans;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |