답안 #1067069

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1067069 2024-08-20T10:36:27 Z nghiaaa Burza (COCI16_burza) C++14
0 / 160
1 ms 348 KB
#include <bits/stdc++.h>
using namespace std;
#define ld long double
#define ll long long
#define db double
#define ii pair<int,int>
#define f first
#define s second
#define mp make_pair
#define mt make_tuple
#define pb push_back
#define all(v) v.begin(),v.end()
#define BIT(i) ((ll)1<<(i))
#define debug(x) for (auto p: x) cout<<p<<' ';cout<<endl
#define forw(i,j,z) for(int i=(int)j;i<=(int)z;i++)
#define ford(i,j,z) for (int i=(int)j;i>=(int)z;i--)
#define sz(a) (int)a.size()
#define len(a) (int)a.length()
const int mod = 998244353;
inline int add(int u,int v){u+=v;if(u>=mod)u-=mod;return u;}
//auto seed = chrono::high_resolution_clock::now().time_since_epoch().count();
//mt19937 RAND(seed);
inline int dec(int u,int v){u-=v;if(u<0)u+=mod;return u;}
inline int mul(int u,int v){return (ll)u*v%mod;}
const int N = 400;
vector<int> a[N + 1];
bool noo[N + 1];
int n, k, h[N + 1][2];
void somethingcool(int u = 1, int par = 0)
{
    if ((u == 1 && sz(a[u]) <= 1)||
        (u > 1 && sz(a[u]) <= 2))
    {
        noo[u] = 1;
        return ;
    }
    for (int v : a[u]) if (v != par)
    {
        somethingcool(v, u);
        if (h[u][0] < h[v][1] + 1)
            h[u][1] = h[u][0], h[u][0] = h[v][1] + 1;
        else if (h[u][1] < h[v][1] + 1)
            h[u][1] = h[v][1] + 1;
    }
}
bool ans = true;
void dfs(int u = 1, int par = 0, int K = k)
{
    if (K == 0)
        ans = false;
    if (noo[u])
        return ;
}
void solve()
{
    cin >> n >> k;
    for (int i = 1; i < n; ++i)
    {
        int u, v;
        cin >> u >> v;
        a[u].pb(v);
        a[v].pb(u);
    }
    if (k == 1){
        if (sz(a[1]) <= 1)
            return void (cout << "DA");
        return void (cout << "NE");
    }
    somethingcool();
    dfs();
    if (h[1][1] < k)
        cout << "DA";
    else cout << "NE";
}
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
  //  freopen("test.inp","r",stdin);
 //   freopen("test.out","w",stdout);
    //time_t TIME_TU=clock();
    int t=1;
//    cin>>t;
    while(t--)
        solve();
    //time_t TIME_TV=clock();
    //cerr<<(db)(TIME_TV-TIME_TU)/CLOCKS_PER_SEC<<endl;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -