제출 #857424

#제출 시각아이디문제언어결과실행 시간메모리
857424chilinhxyzabcEaster Eggs (info1cup17_eastereggs)C++17
87 / 100
12 ms756 KiB
#include <bits/stdc++.h>
using namespace std;
 
vector<int> st;
vector<vector<int>> adj;
 
void dfs(int u, int p) {
    st.push_back(u);
    for(int v : adj[u]) {
        if(v == p)
            continue;
        dfs(v, u);
    }
}
 
int query(vector<int> islands);
 
int findEgg(int N, vector<pair<int,int>> bridges) {
    adj.clear();
    adj.resize(N + 1);
    for(auto[u, v] : bridges) {
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    st.clear();
    dfs(1, -1);
    int l = 1, r = N, res = 0;
    while(l <= r) {
        int m = (l + r) / 2;
        if(query(vector<int>(st.begin(), st.begin() + m))) {
            res = st[m - 1];
            r = m - 1;
        } else {
            l = m + 1;
        }
    }
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...