제출 #1231554

#제출 시각아이디문제언어결과실행 시간메모리
1231554bbldrizzyBurza (COCI16_burza)C++20
0 / 160
0 ms328 KiB
#include <bits/stdc++.h> #define f first #define s second using namespace std; using ll = long long; using P = pair<ll, ll>; vector<vector<int>> adj; vector<int> st; void dfs(int nd, int pr) { if (adj[nd].size() == 1) { st[nd] = 0; return; } if (adj[nd].size() == 2 && nd != 0) { st[nd] = 0; return; } vector<int> c; for (int x: adj[nd]) { if (x != pr) { dfs(x, nd); c.push_back(st[x]); } } int m1 = 0; int m2 = 0; for (int x: c) { if (x > m1) { m2 = m1; m1 = x; } else if (x > m2) { m2 = x; } } st[nd] = m2+1; } int main() { int n, k; cin >> n >> k; adj.resize(n); st.resize(n); for (int i = 0; i < n-1; i++) { int a, b; cin >> a >> b; --a; --b; adj[a].push_back(b); adj[b].push_back(a); } dfs(0, 0); if (st[0]+1 <= k) { cout << "DA"; } else { cout << "NE"; } }
#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...