Submission #1280316

#TimeUsernameProblemLanguageResultExecution timeMemory
1280316tdd209Easter Eggs (info1cup17_eastereggs)C++20
0 / 100
1 ms456 KiB
#include "grader.h"
#include <bits/stdc++.h>
using namespace std;

vector <int> con[513];
int ord[513], cnt = 0;
bool vis[513];

void dfs(int u)
{
    ord[cnt++] = u; vis[u] = 1;
    for (int v : con[u])
    {
        if (vis[u]) continue;
        dfs(v);
    }
}

int findEgg(int n, vector <pair <int, int>> bridges)
{
    for (int i = 1; i <= n; ++i)
    {
        con[i].clear(); vis[i] = ord[i] = 0;
    }
    cnt = 0;
    for (auto [u, v] : bridges)
    {
        con[u].push_back(v);
        con[v].push_back(u);
    }
    dfs(1);
    int l = 1, r = n;
    vector <int> res;
    while (l < r)
    {
        int c = (l + r) >> 1;
        vector <int> L(ord + 1, ord + c);
        if (query(L))
            r = c - 1;
        else
            l = c + 1;
    }
    return ord[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...