# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1189897 | 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, vector<bool> &visit){
path[0].emplace_back(u);
path[path[0].size()]=path[0];
visit[u]=true;
for(auto v:adj[u]){
if((visit[v]==false)){
dfs(v,adj,path,visit);
}
}
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
vector<vector<int>> adj(513),path(513);
vector<bool> visit(N+1,false);
for(auto [u,v]:bridges){
adj[u].emplace_back(v);
adj[v].emplace_back(u);
}
dfs(1,adj,path,visit);
path[0].emplace_back(1);
int l=0,mid,r=N;
// for(int i=0;i<=N;i++){
// for(auto v:path[i]){
// cout<<v<<" ";
// }
// cout<<"\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(){
// cout<< findEgg(5,{{1,2},{1,3},{2,4},{4,5}});
}