제출 #903957

#제출 시각아이디문제언어결과실행 시간메모리
903957MinaRagy06Burza (COCI16_burza)C++17
0 / 160
1 ms600 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long

const int N = 405;
vector<int> adj[N];
int dp[N];
void dfs(int i, int par) {
	int mx = 0;
	for (auto nxt : adj[i]) {
		if (nxt == par) continue;
		dfs(nxt, i);
		mx = max(mx, dp[nxt] + 1);
	}
	for (auto nxt : adj[i]) {
		if (nxt == par) continue;
		if (dp[nxt] + 1 == mx) {
			mx = -1;
			continue;
		}
		dp[i] = max(dp[nxt] + 1, dp[i]);
	}
}
int main() {
	ios_base::sync_with_stdio(0), cin.tie(0);
	int n, k;
	cin >> n >> k;
	for (int i = 1, u, v; i < n; i++) {
		cin >> u >> v;
		adj[u].push_back(v);
		adj[v].push_back(u);
	}
	dfs(1, 0);
	cout << (dp[1] < k? "DA\n" : "NE\n");
	return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...