# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1189880 | racha555 | Easter Eggs (info1cup17_eastereggs) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
void dfs(int u,vector<vector<int>>&adj,vector<vector<int>> &path){
for(auto v:adj[u]){
if(path[v].empty()){
path[v]=path[u];
path[v].emplace_back(v);
dfs(v);
}
}
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
vector<vector<int>> adj(513),path(513);
for(auto [u,v]:bridges){
adj[u].emplace_back(v);
adj[v].emplace_back(u);
}
path[1].emplace_back(1);
dfs(1,adj,path);
path[1].emplace_back(1);
int l=0,mid,r=N;
while(l<r){
int mid=l+(r-l)/2;
if(query(path[mid])==1){
r=mid;
}
else{
l=mid+1;
}
}
return r;
// if (query ({1})) return 1;
// return N;
}
// int main(){
// findEgg(5,{{1,2},{1,3},{2,4},{4,5}});
// }