답안 #915167

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
915167 2024-01-23T12:31:43 Z Pikachu Easter Eggs (info1cup17_eastereggs) C++17
87 / 100
13 ms 1244 KB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

const int maxn = 520, oo = 1e9;
int n;
vector<int> adj[maxn];
vector<int> pos;

int findEgg (int N, vector<pair<int,int> > bridges)
{
    ::n = N;
    pos.clear();
    for (int i = 1; i <= n; i++) adj[i].clear();
    for (pair<int,int> p : bridges) {
        adj[p.first].push_back(p.second);
        adj[p.second].push_back(p.first);
    }

    auto DFS = [&] (auto DFS, int u, int par) -> void {
        pos.push_back(u);
        for (int v : adj[u]) {
            if (v == par) continue;
            DFS(DFS, v, u);
        }
    };

    DFS(DFS, 1, -1);

    int l = 0, r = n - 1, ans = r;
    while (l <= r) {
        int mid = (l + r) >> 1;
        if (query(vector<int>(pos.begin(), pos.begin() + mid + 1))) {
            ans = mid;
            r = mid - 1;
        }
        else l = mid + 1;
    }
    
    return pos[ans];
}
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 344 KB Number of queries: 5
2 Partially correct 1 ms 344 KB Number of queries: 5
3 Partially correct 1 ms 344 KB Number of queries: 5
4 Partially correct 1 ms 344 KB Number of queries: 5
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 976 KB Number of queries: 9
2 Correct 7 ms 984 KB Number of queries: 9
3 Correct 12 ms 984 KB Number of queries: 9
4 Correct 10 ms 732 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Partially correct 13 ms 504 KB Number of queries: 10
2 Correct 11 ms 728 KB Number of queries: 9
3 Partially correct 10 ms 1244 KB Number of queries: 10
4 Partially correct 10 ms 992 KB Number of queries: 10