#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector <int> v1[513],an;
vector <int> ans;
bool used[555];
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)
{
memset(used,0,sizeof(used));
for(int i=1;i<=512;i++)v1[i].clear();
an.clear();
for(int i=0;i<n-1;i++)
{
v1[bridges[i].first].push_back(bridges[i].second);
}
dfs(1);
int l=1,r=n,m,ot;
while(l<r)
{
m=(l+r)/2;
ans.clear();
for(int i=1;i<=m;i++)ans.push_back(an[i-1]);
if(query(ans)==1){ot=m;r=m;}
else l=m+1;
}
return ot;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |