Submission #1147209

#TimeUsernameProblemLanguageResultExecution timeMemory
1147209weakweakweakEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms504 KiB
// 被嗆,我本來以為每棵樹
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;
// int query(vector < int > islands);

int n;
vector<int> es[555], v;

void dfs (int i, int par) {
    v.push_back(i);
    for (int j : es[i]) if (j != par) dfs (j, i);
}

int findEgg (int N, vector < pair < int, int > > bridges) {
    n = N;
    v.clear();
    for (int i = 0; i <= N; i++) es[i].clear();
    for (auto [a, b] : bridges) {
        es[a].push_back(b);
        es[b].push_back(a);
    }

    dfs (1,1);

    int l = 0, r = n-1;
    while (l < r) {
        int mid = (l+r) / 2;
        vector<int> a;
        for (int i = 0; i <= mid; i++) a.push_back(v[i]);
        if (query(a)) r = mid;
        else l = mid+1;
    }
    // cout << l << '\n';
    return v[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...