제출 #1363764

#제출 시각아이디문제언어결과실행 시간메모리
1363764aleksey.kartashev1Easter Eggs (info1cup17_eastereggs)C++20
100 / 100
7 ms520 KiB
#include "grader.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> adj[1005], path;
void dfs(int u, int p)
{
    path.push_back(u);
    for (auto v : adj[u])
    {
        if (v == p)
        {
            continue;
        }
        dfs(v, u);
    }
}
int findEgg(int N, vector<pair<int, int>> bridges)
{
    path.clear();
    for (int i = 0; i <= N; i++)
        adj[i].clear();
    for (auto [u, v] : bridges)
    {
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    dfs(1, 1);
    int l = 0, r = N - 1;
    while (l < r)
    {
        int m = (l + r) / 2;
        vector<int> tmp;
        for (int i = 0; i <= m; i++)
        {
            tmp.push_back(path[i]);
        }
        if (query(tmp))
        {
            r = m;
        }
        else
        {
            l = m + 1;
        }
    }
    return path[l];
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…