| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1297910 | lunarecho | Easter Eggs (info1cup17_eastereggs) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<int> o;
void dfs(int u, int p) {
o.push_back(u);
for(int neighbour : adj[u]) {
if(neighbour != p) {
dfs(neighbour, u);
}
}
}
int findEgg (int N, vector <pair<int,int>> bridges) {
vector<int> adj[N];
for(auto &it : bridges) {
adj[it.first].push_back(it.second);
adj[it.second].push_back(it.first);
}
dfs(1, -1);
int l = 0, r = n - 1;
while(l < r)
{
int mid = (l + r) / 2;
vector<int> q;
for(int i=0;i<=mid;++i) {
q.push_back(o[i]);
}
if(query(q)) {
r = mid;
} else {
l = mid + 1;
}
}
return r;
}
