제출 #199173

#제출 시각아이디문제언어결과실행 시간메모리
199173Bagritsevich_StepanEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
39 ms380 KiB
#include <bits/stdc++.h>
#include "grader.h"
 
using namespace std;

const int maxn = 2055;
vector < int > g[maxn], q;

void dfs(int v, int p) {
    q.push_back(v);
    
    for (int to : g[v])
        if (to != p)
            dfs(to, v);
}

int findEgg(int N, vector < pair < int, int > > bridges) {
    q.clear();
    for (int i = 1; i <= N; i++)
        g[i].clear();
    
    for (auto it : bridges) {
        g[it.first].push_back(it.second);
        g[it.second].push_back(it.first);
    }
    
    dfs(1, -1);
    
    int l = 0, r = N;
    while (r - l > 1) {
        int m = (l + r) / 2;
        if (query(vector < int >(q.begin(), q.begin() + m)))
            r = m;
        else
            l = m;
    }
    
    return q[r - 1];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...