Submission #441715

#TimeUsernameProblemLanguageResultExecution timeMemory
441715DeepessonBurza (COCI16_burza)C++17
0 / 160
3 ms716 KiB
#include <bits/stdc++.h>
#define MAX 405
std::vector<int> con[MAX],org[MAX];
bool existe[MAX][MAX];
short tab[MAX][MAX];
short dp(int pos,int movs) {
    if(existe[pos][movs])return tab[pos][movs];
    existe[pos][movs]=true;
    short best=1000;
    for(int i=0;i!=movs+1;++i){
        std::vector<short> resps;
        for(auto&x:con[pos]){
            resps.push_back(1+dp(x,movs+1-i));
        }
        std::sort(resps.begin(),resps.end(),std::greater<short>());
        if(i>=con[pos].size()){
            best=0;
        }else best=std::min(best,resps[i]);
    }
    return tab[pos][movs]=best;
}
int main()
{
    int N,K;
    std::cin>>N>>K;
    for(int i=1;i!=N;++i){
        int a,b;
        std::cin>>a>>b;--a;--b;
        org[a].push_back(b);
        org[b].push_back(a);
    }
    typedef std::pair<int,int> pii;
    std::queue<pii> queue;
    queue.push({0,-1});
    bool visitou[MAX]={};
    while(queue.size()){
        auto _ = queue.front();
        queue.pop();
        if(visitou[_.first])continue;
        visitou[_.first]=true;
        if(_.second!=-1){
            con[_.second].push_back(_.first);
        }
        for(auto&x:org[_.first])
        queue.push({x,_.first});
    }
    int r=dp(0,1);
    if(r<K){
        printf("DA\n");
    }else printf("NE\n");
}

Compilation message (stderr)

burza.cpp: In function 'short int dp(int, int)':
burza.cpp:16:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |         if(i>=con[pos].size()){
      |            ~^~~~~~~~~~~~~~~~~
#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...