Submission #1053966

#TimeUsernameProblemLanguageResultExecution timeMemory
1053966SulAEaster Eggs (info1cup17_eastereggs)C++17
100 / 100
15 ms752 KiB
#include "grader.h" #include <queue> using namespace std; int findEgg (int n, vector<pair<int,int>> bridges) { vector<int> adj[n + 1]; bool visited[n + 1]; memset(visited, false, sizeof visited); for (auto pair : bridges) { int u = pair.first, v = pair.second; adj[u].push_back(v); adj[v].push_back(u); } vector<int> order; queue<int> q; q.push(1); visited[1] = true; while (!q.empty()) { int u = q.front(); q.pop(); order.push_back(u); for (int v : adj[u]) if (!visited[v]) { q.push(v); visited[v] = true; } } int l = 0, r = n-1; while (r > l) { int mid = (l+r)/2; vector<int> myquery{}; for (int i = 0; i <= mid; i++) myquery.push_back(order[i]); bool res = query(myquery) == 1; // cout << "MY QUERY IS "; // for (int u : myquery) cout << u << " "; // cout << '\n'; if (res) r = mid; else l = mid+1; } return order[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...