Submission #588282

#TimeUsernameProblemLanguageResultExecution timeMemory
588282tht2005Burza (COCI16_burza)C++17
160 / 160
25 ms3068 KiB
#include <bits/stdc++.h> using namespace std; int rd() { bool neg = 0; char c = getchar(); for(; c < '0' || c > '9'; c = getchar()) if(c == '-') neg = !neg; int n = 0; while('0' <= c && c <= '9') n = (n << 3) + (n << 1) + c - '0', c = getchar(); return neg ? -n : n; } void wr(int n) { static char o[11]; if(n < 0) putchar('-'), n = -n; int i = 0; do o[i++] = n % 10 + '0'; while(n /= 10); while(i--) putchar(o[i]); } const int N = 402; const int K = 20; int n, k, t = 0, tin[N], tout[N], d[N]; bool f[N][1 << K]; vector<int> aj[N], ver[N]; void dfs(int v, int p) { if(d[v] == k) { tin[v] = t; tout[v] = ++t; } else { tin[v] = t; for(int u : aj[v]) { if(u == p) { continue; } d[u] = d[v] + 1; dfs(u, v); } tout[v] = t; } } int main() { n = rd(); k = rd(); if(k * k >= n) { puts("DA"); return 0; } for(int i = 1, u, v; i < n; ++i) { u = rd(); v = rd(); aj[u].push_back(v); aj[v].push_back(u); } d[1] = 0; dfs(1, 0); for(int i = 2; i <= n; ++i) { if(tin[i] != tout[i]) { ver[tin[i]].push_back(i); } } f[0][0] = 1; for(int i = 0; i < t; ++i) { for(int j = 1 << k; j--; ) { if(f[i][j]) { for(int v : ver[i]) { if(j >> (d[v] - 1) & 1) { continue; } f[tout[v]][j | (1 << (d[v] - 1))] = 1; } } } } for(int i = 1 << k; i--; ) { if(f[t][i]) { puts("DA"); return 0; } } puts("NE"); 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...