#include <bits/stdc++.h>
using namespace std;
vector<int> adj[401]; int p[401],d[401],b[401];
set<vector<int>> vis; queue<vector<int>> q;
void dfs(int v){
    for(int u:adj[v]){
        if(u==p[v]) continue;
        p[u]=v; d[u]=d[v]+1;
        dfs(u); b[v]=max(b[v],b[u]+1);
    }
}
int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
    int n,k; cin >>n>>k;
    for(int i=1;i<n;i++){
        int a,b; cin >>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }dfs(1); q.push({1});
    while(!q.empty()){
        auto vec=q.front(); q.pop();
        if(vec.empty()) {cout <<"DA"; return 0;}
        int rem=k-d[vec[0]]; vector<int> vv;
        for(int v:vec){
            for(int u:adj[v]){
                if(u==p[v]) continue;
                if(b[u]+1>=rem) vv.push_back(u);
            }
        }if(vv.size()>rem) continue;
        for(int i=0;i<vv.size();i++){
            swap(vv[i],vv.back()); vector<int> temp=vv;
            temp.pop_back(); sort(temp.begin(),temp.end());
            if(!vis.count(temp)){
                q.push(temp); vis.insert(temp);
            }swap(vv[i],vv.back());
        }
    }cout <<"NE";
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |