#include <bits/stdc++.h>
#include "grader.h"
#define emb emplace_back
using namespace std;
vector <int> adj[600], path;
void dfs(int u, int p){
path.emb(u);
for (auto v : adj[u]) {
if (v == p) continue;
dfs(v, u);
}
}
int findEgg (int n, vector < pair < int, int > > bridges)
{
for (int i = 1; i <= n; i++) adj[i].clear();
for (auto [u, v] : bridges) adj[u].emb(v), adj[v].emb(u);
path.clear();
path.emb(0);
dfs(1, 1);
int l = 1, r = n;
int ans = 0;
while (l < r) {
int mid = (l + r) / 2;
vector <int> que;
for (int i = 1; i <= mid; i++) que.emb(path[i]);
int x = query(que);
if (x) r = mid;
else l = mid + 1;
}
return path[l];
}
/*
1 -> 2 -> 4 -> 3 -> 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... |