제출 #963103

#제출 시각아이디문제언어결과실행 시간메모리
963103biankEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
14 ms988 KiB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

const int MAX_N = 512;

vector<int> adj[MAX_N], islands;

void dfs(int u, int p = -1) {
    islands.push_back(u + 1);
    for (int v : adj[u]) {
        if (v != p) dfs(v, u);
    }
}

int findEgg (int N, vector<pair<int, int>> bridges) {
    islands.clear();
    for (int i = 0; i < N; i++) adj[i].clear();
    for (int i = 0; i < N - 1; i++) {
        auto [u, v] = bridges[i];
        --u, --v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    dfs(0);
    int l = 0, r = N;
    while (l + 1 < r) {
        int m = (l + r) / 2;
        if (query(vector<int>(begin(islands), begin(islands) + m))) {
            r = m;
        } else {
            l = m;
        }
    }
    return islands[l];
}

컴파일 시 표준 에러 (stderr) 메시지

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:21:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   21 |         auto [u, v] = bridges[i];
      |              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...