제출 #1162723

#제출 시각아이디문제언어결과실행 시간메모리
1162723cnn008Easter Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms512 KiB
#include "grader.h" #include <bits/stdc++.h> using namespace std; vector <int> g[515],e,vis; void dfs(int u, int p){ e.push_back(u); for(auto v:g[u]) if(v!=p) dfs(v,u); } int findEgg(int n, vector <pair <int,int> > bridges){ for(int i=1; i<=n; i++) g[i].clear(); e.clear(); vis.clear(); for(int i=0; i<n; i++) vis.push_back(0); for(auto [u,v]:bridges){ g[u].push_back(v); g[v].push_back(u); } dfs(1,0); int l=1,r=n,ans=0; while(l<=r){ int mid=(l+r)>>1; vector <int> cur; for(int i=0; i<mid; i++) cur.push_back(e[i]); bool x=query(cur); if(__builtin_popcount(n)==1 and l+1==r){ if(x) ans=l; else ans=r; break; } if(x) ans=mid,r=mid-1; else l=mid+1; } return e[ans-1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...