Submission #1145950

#TimeUsernameProblemLanguageResultExecution timeMemory
1145950fnfiEaster Eggs (info1cup17_eastereggs)C++17
100 / 100
8 ms504 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int maxn=600; vector<int>v1[maxn],euler; bool used[maxn]; void dfs(int node) { euler.push_back(node); used[node]=true; for(int i : v1[node]) { if(!used[i]) { dfs(i); } } } int findEgg(int N, vector < pair < int, int > > bridges) { memset(used,false,sizeof(used)); for(int i=1;i<=512;i++)v1[i].clear(); euler.clear(); for(pair<int,int>p : bridges) { v1[p.first].push_back(p.second); v1[p.second].push_back(p.first); } dfs(1); ///bin search int l=0,r=euler.size()-1,mid,curr; vector<int>ask; while(l<r) { mid=(l+r)/2; ask.clear(); for(int i=0;i<=mid;i++)ask.push_back(euler[i]); curr=query(ask); if(curr==1) r=mid; else l=mid+1; } return euler[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...