| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1343119 | lkateris | Easter Eggs (info1cup17_eastereggs) | C++20 | 0 ms | 0 KiB |
#include <iostream>
#include <vector>
using namespace std;
vector<int> adj[600];
vector<int> order;
void dfs(int x,int p=-1) {
order.push_back(x);
for(auto e:adj[x]) {
if (e==p) continue;
dfs(e,x);
}
return;
}
int findEgg(int N, vector < pair < int, int > > bridges) {
for(int i=1;i<N;++i) {
auto e = bridges[i];
adj[e.first].push_back(e.second);
adj[e.second].push_back(e.first);
}
dfs(1);
int l = 0;
int r = N-1;
while (l < r) {
int mid = (l+r+1)/2;
if (query(vector<int>(order.begin(),order.begin()+mid))) r = mid-1;
else l = mid;
}
return order[l];
}
