제출 #169498

#제출 시각아이디문제언어결과실행 시간메모리
169498Rouge_HugoEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
20 ms376 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<int>vv;
vector<int>v[600];
void dfs (int x,int p)
{
    vv.push_back(x);
    for(auto it:v[x])
    {
        if (it==p)continue;
        dfs(it,x);
    }
}
vector<int>o;
int q (int m)
{
    o.clear();
    for(int i=0;i<=m;i++)o.push_back(vv[i]);
    return query(o);
}
int findEgg(int n, vector < pair < int, int > > bridges)
{
    vv.clear();
    for(int i=0;i<n-1;i++)
    {
        int x=bridges[i].first,y=bridges[i].second;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    dfs(1,0);
    int st=0,end=vv.size()-1;
    while (st<end)
    {
       // cout<<st<<" "<<end<<endl;
        int m=(st+end)/2;
        if (q(m))
        {
            end=m;continue;
        }
        st=m+1;
    }
    for(int i=0;i<n+10;i++)v[i].clear();
    return vv[st];
}
/*
vector<pair<int,int>>o;
int main()
{
    int n;cin>>n;
    for(int i=0;i<n-1;i++)
    {
        int x,y;cin>>x>>y;
        o.push_back({x,y});
    }
    cout<<findEgg(n,o);
}
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...