Submission #1145973

#TimeUsernameProblemLanguageResultExecution timeMemory
1145973sash01Easter Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms544 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector <int> v1[2001],an;
vector <int> ans;
bool used[2001];
void dfs(int beg)
{
    an.push_back(beg);
    used[beg]=1;
    int sz=v1[beg].size(),nb;
    for(int i=0;i<sz;i++)
    {
        nb=v1[beg][i];
        if(!used[nb])dfs(nb);
    }
}
int findEgg (int n, vector < pair < int, int > > bridges)
{
    for(int i=1;i<=512;i++)used[i]=0;
    for(int i=1;i<=512;i++)v1[i].clear();
    an.clear();
    for(int i=0;i<bridges.size();i++)
    {
        v1[bridges[i].first].push_back(bridges[i].second);
        v1[bridges[i].second].push_back(bridges[i].first);
    }
    dfs(1);
    int l=0,r=an.size()-1,m,ot;
    while(l<r)
    {
        m=(l+r)/2;
        ans.clear();
        for(int i=0;i<=m;i++)ans.push_back(an[i]);
        if(query(ans)==1){ot=m;r=m;}
        else l=m+1;
    }
    return an[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...