#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector <int> v1[2001],an;
vector <int> ans;
bool used[2001];
void dfs(int beg)
{
an.push_back(beg);
used[beg]=1;
int sz=v1[beg].size(),nb;
for(int i=0;i<sz;i++)
{
nb=v1[beg][i];
if(!used[nb])dfs(nb);
}
}
int findEgg (int n, vector < pair < int, int > > bridges)
{
for(int i=1;i<=512;i++)used[i]=0;
for(int i=1;i<=512;i++)v1[i].clear();
an.clear();
for(int i=0;i<bridges.size();i++)
{
v1[bridges[i].first].push_back(bridges[i].second);
v1[bridges[i].second].push_back(bridges[i].first);
}
dfs(1);
int l=0,r=an.size()-1,m,ot;
while(l<r)
{
m=(l+r)/2;
ans.clear();
for(int i=0;i<=m;i++)ans.push_back(an[i]);
if(query(ans)==1){ot=m;r=m;}
else l=m+1;
}
return an[l];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |