Submission #1146217

#TimeUsernameProblemLanguageResultExecution timeMemory
1146217rado15Easter Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms504 KiB
#include <bits/stdc++.h> #include "grader.h" #define endl '\n' #define ll long long int using namespace std; const int maxn = 600; void speed() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); } vector<int> v[maxn]; bool used[maxn]; vector<int> topo; void DFS(int beg) { used[beg] = true; topo.push_back(beg); for(auto &nb: v[beg]) { if(!used[nb]) { DFS(nb); } } } int findEgg(int n, vector<pair<int, int>> bridges) { memset(used, false, sizeof(used)); for(int i = 1; i <= n; i++) { v[i].clear(); } for(int i = 0; i < bridges.size(); i++) { int x, y; x = bridges[i].first; y = bridges[i].second; v[x].push_back(y); v[y].push_back(x); } topo.clear(); DFS(1); int l = 0, r = topo.size()-1, mid; vector<int> curr; while(l < r) { mid = l + (r - l)/2; curr.clear(); for(int i = 0; i <= mid; i++) { curr.push_back(topo[i]); } int q = query(curr); if(q == 1) { r = mid; } else l = mid + 1; } return topo[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...