제출 #1159729

#제출 시각아이디문제언어결과실행 시간메모리
1159729justin271828Janjetina (COCI21_janjetina)C++20
15 / 110
1595 ms3140 KiB
#include <bits/stdc++.h>
using namespace std;

#define l2 long long
#define ii pair<int, int>
#define iii pair<int, ii>
#define f first
#define s second

int main() {
	int n, k;
	cin >> n >> k;
	vector<ii> v[n];
	bool mem[n];
	for (int i = 1; i < n; i++) {
		int x, y, w;
		cin >> x >> y >> w;
		x--; y--;
		v[x].push_back({y, w});
		v[y].push_back({x, w});}
	l2 ans = 0;
	for (int i = 0; i < n; i++) {
		queue<iii> q;
		q.push({i, {0, 0}}); //kg, len
		memset(mem, false, sizeof(mem));
		while (!q.empty()) {
			iii temp = q.front();
			mem[temp.f] = true;
			if (temp.s.f - temp.s.s >= k) ans++;
			for (ii p: v[temp.f]) {
				if (mem[p.f]) continue;
				q.push({p.f, {max(temp.s.f, p.s), temp.s.s+1}});}
			q.pop();}}
	cout << ans;
	return 0;}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...