#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,adj,path);
}
}
}
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}});
// }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |