제출 #1347909

#제출 시각아이디문제언어결과실행 시간메모리
1347909stellarisqsnEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
6 ms764 KiB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

vector<int> adj[520];
int tour[520], node[520], id;

void dfs(int u){
    tour[u] = ++id;
    node[id] = u;
    for (auto & v : adj[u])
        if (!tour[v])
            dfs(v);
}

bool ask(int m){
    vector<int> v;
    for (int i = 1; i <= m; i++)
        v.emplace_back(node[i]);
    return query(v);
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
    for (int i = 1; i <= N; i++)
        adj[1].clear();
    for (auto &[u, v] : bridges)
        adj[u].emplace_back(v), adj[v].emplace_back(u);
    id = 0;
    dfs(1);
    int l = 1, r = N;
    while(l < r){
        int m = (l + r) >> 1;
        if (ask(m))
            r = m;
        else
            l = m + 1;
    }
    return node[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...