Submission #1145927

#TimeUsernameProblemLanguageResultExecution timeMemory
1145927bozhoEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
0 ms492 KiB
#include <bits/stdc++.h>
#include "grader.h"
#define endl '\n'
using namespace std;

const int MAX = 550;

vector<int> v[MAX], order;
bool used[MAX];

bool Checker(int x)
{
    vector<int> c;
    for (int i = 0; i <= x; i++)
    {
        c.push_back(order[i]);
    }
    return query(c);
}

int Binary()
{
    int l = -1, r = order.size() - 1, m;
    while (r - l > 1)
    {
        m = l + (r - l) / 2;
        if (Checker(m))
            r = m;
        else
            l = m;
    }
    return r;
}

void Dfs(int g)
{
    used[g] = 1;
    order.push_back(g);
    for (int i = 0; i < v[g].size(); i++)
    {
        if (!used[v[g][i]])
            Dfs(v[g][i]);
    }
}

int findEgg(int n, vector<pair<int, int>> p)
{
    for (int i = 0; i < p.size(); i++)
    {
        v[p[i].first].push_back(p[i].second);
        v[p[i].second].push_back(p[i].first);
    }
    Dfs(1);
    int ans = Binary();
    for (int i = 0; i <= n; i++)
    {
        v[i].clear();
        used[i] = 0;
    }
    order.clear();
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...