Submission #1321677

#TimeUsernameProblemLanguageResultExecution timeMemory
1321677Zone_zoneeEaster Eggs (info1cup17_eastereggs)C++17
100 / 100
8 ms500 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int Nx = 600;

vector<int> adj[600], val;
void dfs(int u, int p){
    val.push_back(u);
    for(auto v : adj[u]){
        if(p == v) continue;
        dfs(v, u);
    }
}
int findEgg (int N, vector<pair<int, int>> bridges)
{
    for(int i = 1; i <= N; ++i) adj[i].clear();
    val.clear();
    val.push_back(-1);
    for(auto [u, v] : bridges){
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    dfs(1, -1);
    int l = 1, r = N;
    while(l < r){
        int mid = (l+r)>>1;
        vector<int> Q;
        for(int i = 1; i <= mid; ++i) Q.push_back(val[i]);
        if(query(Q)) r = mid;
        else l = mid+1;
    }
    return val[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...