제출 #1141356

#제출 시각아이디문제언어결과실행 시간메모리
1141356Saul0906Easter Eggs (info1cup17_eastereggs)C++20
87 / 100
8 ms492 KiB
#include <bits/stdc++.h> #include "grader.h" #define pii pair<int, int> #define rep(a,b,c) for(int a=b; a<c; a++) #define repa(a,b) for(auto a:b) #define all(a) a.begin(), a.end() #define fi first #define se second #define mid ((l+r)>>1) #define pb push_back using namespace std; using vi = vector<int>; const int N=555; vi adj[N]; int lvl[N]; void dfs(int u, int p){ lvl[u]=lvl[p]+1; repa(v,adj[u]) if(v!=p) dfs(v,u); } int findEgg (int N, vector < pair < int, int > > bridges){ rep(i,1,N+1) adj[i].clear(); repa(e,bridges){ adj[e.fi].pb(e.se); adj[e.se].pb(e.fi); } dfs(1,0); vector<pii> nd; rep(i,1,N+1) nd.pb({lvl[i],i}); sort(all(nd)); int l=0, r=N-1; vi qr; while(l<=r){ qr.clear(); rep(i,0,mid+1) qr.pb(nd[i].se); if(query(qr)) r=mid-1; else l=mid+1; } return nd[l].se; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...