#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int N=540;
int fix[N];
vector<int> vec[N],ans,junk;
vector<int> ask(int r){
vector<int> some;
for(int i=0; i<=r; i++){
some.push_back(ans[i]);
}
return some;
}
void dfs(int node, int par){
fix[node]=1;
ans.push_back(node);
for(auto to : vec[node]){
if(to==par) continue;
dfs(to,node);
}
}
int findEgg(int N, vector<pair<int,int>> bridges){
for(int i=0; i<bridges.size(); i++){
int u=bridges[i].first;
int v=bridges[i].second;
vec[u].push_back(v);
vec[v].push_back(u);
}
dfs(1,0);
int l=0;
int pas=N-1;
int r=N-2;
while(l<=r){
int mid=(l+r)/2;
vector<int> que=ask(mid);
int egg=query(que);
if(egg==1){
r=mid-1;
pas=mid;
}
else{
l=mid+1;
}
}
return ans[pas];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |