#include <bits/stdc++.h>
#include "grader.h"
// #define int long long
using namespace std;
const int MAX = 1e3 + 5, mod = 998244353;
vector<int> g[MAX];
vector<int> ord;
void dfs(int node, int p){
ord.push_back(node);
for (auto to : g[node]) {
if (to == p) continue;
dfs(to, node);
}
}
int findEgg (int n, vector < pair < int, int > > bridges)
{
ord.clear();
for (int i = 1; i <= n; i++) g[i].clear();
for (auto [x, y] : bridges) {
g[x].push_back(y);
g[y].push_back(x);
}
dfs(1, 1);
int l = 0, r = n - 1, best;
while (l <= r) {
int mid = (l + r) >> 1;
vector<int> v;
for (int i = 0; i <= mid; i++) {
v.push_back(ord[i]);
}
if (query(v)) {
best = ord[mid];
r = mid - 1;
} else l = mid + 1;
}
return best;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |