Submission #319324

#TimeUsernameProblemLanguageResultExecution timeMemory
319324tushar_2658Easter Eggs (info1cup17_eastereggs)C++14
100 / 100
21 ms488 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int maxn = 513; vector<int> edges[maxn]; int st[maxn], vert[maxn], timer = 0; void dfs(int x, int p){ st[x] = ++timer; vert[timer] = x; for(auto i : edges[x]){ if(i != p){ dfs(i, x); } } } int ask(int x){ vector<int> v; for(int i = 1; i <= x; ++i){ v.push_back(vert[i]); } int ret = query(v); return ret; } int findEgg (int N, vector < pair < int, int > > bridges) { for(int i = 1; i <= N; ++i){ edges[i].clear(); st[i] = vert[i] = 0; } timer = 0; for(auto i : bridges){ edges[i.first].push_back(i.second); edges[i.second].push_back(i.first); } dfs(1, 1); int lo = 1, hi = N; while(lo < hi){ int mid = (lo + hi) >> 1; if(ask(mid)){ hi = mid; }else { lo = mid + 1; } } return vert[lo]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...