제출 #1170379

#제출 시각아이디문제언어결과실행 시간메모리
1170379ayush_agBurza (COCI16_burza)C++20
0 / 160
1 ms400 KiB
#include <bits/stdc++.h> using namespace std; void fastio(){ ios_base::sync_with_stdio(false); cin.tie(NULL); } int n,k; void dfs(vector<vector<int>>& edges,vector<int>& dp,int leaf,int root,int d){ if(d==k){dp[leaf]=2;return;} for(int i=0;i<edges[leaf].size();i++){ if(edges[leaf][i]==root)continue; dfs(edges,dp,edges[leaf][i],leaf,d+1); } int cnt=0; for(int i=0;i<edges[leaf].size();i++){ if(edges[leaf][i]==root)continue; if(dp[edges[leaf][i]]==1 && cnt==0)cnt=1; else if(dp[edges[leaf][i]]==2)cnt+=dp[edges[leaf][i]]; } if(cnt<4)dp[leaf]=1; else if(cnt==4)dp[leaf]=2; } int32_t main() { cin>>n>>k; vector<vector<int>> edges(n); for(int i=0;i<n-1;i++){ int a,b;cin>>a>>b; a-=1;b-=1; edges[a].push_back(b); edges[b].push_back(a); } vector<int> dp(n,0); dfs(edges,dp,0,-1,0); //for(int i=0;i<n;i++)cout<<dp[i]<<" "; //cout<<"\n"; if(dp[0])cout<<"DA\n"; else cout<<"NE\n"; }
#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...