#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int nmax=515;
vector <int> gr[nmax];
vector <int> ord;
int x=1;
void dfs(int nod, int par)
{
ord.push_back(nod);
for (auto v:gr[nod] )
if ( v!=par )
dfs(v,nod);
}
int findEgg(int n, vector <pair<int,int> > bridges)
{
for (int i=1; i<=n; i++ )
gr[i].clear();
ord.clear();
for (auto pi:bridges )
{
int xixi=pi.first;
int y=pi.second;
gr[xixi].push_back(y);
gr[y].push_back(xixi);
}
for (int i=1; i<=n; i++ )
if ( gr[i].size()==1 ) {
x=i;
break;
}
dfs(x,0);
/*for (int i=0; i<ord.size(); i++ )
cout << ord[i] << " ";*/
int st=0, dr=n-1, rez=0;
while ( st<=dr )
{
int mij=(st+dr)/2;
if ( query(vector <int> (ord.begin(),ord.begin()+mij+1))==1 )
dr=mij-1;
else
{
rez=mij;
st=mij;
}
}
return ord[rez];
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |