Submission #1190616

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

const int mxN = 525;
vector<int> adj[mxN];
vector<int> path[mxN];
bool vis[mxN];

void dfs(int u) {
    vis[u] = true;
    path[0].emplace_back(u);
    path[path[0].size()] = path[0];
    for(auto v : adj[u]) {
        if(vis[v]) continue;
        dfs(v);
    }
    return;
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
    for(int i = 1; i <= N; ++i) {
        adj[i].clear();
        path[i].clear();
        vis[i] = false;
    }
    for(auto [a,b] : bridges) {
        adj[a].emplace_back(b);
        adj[b].emplace_back(a);
    }
    // euler tour
    // path[0];
    dfs(1);
    path[0].emplace_back(0);
    int l = 1, r = N;
    while(l < r) {
        int mid = (l+r) / 2;
        if(query(path[mid])) {
            r = mid;
        } else {
            l = mid+1;
        }
    }

    return path[l].back();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...