제출 #1072978

#제출 시각아이디문제언어결과실행 시간메모리
1072978Ignut기지국 (IOI20_stations)C++17
0 / 100
641 ms684 KiB
// Ignut

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

const int N = 1111;

vector<int> tree[N];

vector<int> order;

void dfs(int v, int par) {
    order.push_back(v);
    for (int to : tree[v])
        if (to != par)
            dfs(to, v);
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
    // order.clear();
    // for (int i = 0; i < n; i ++) {
    //     tree[i].clear();
    // }

    // for (int i = 0; i < n - 1; i ++) {
    //     tree[u[i]].push_back(v[i]);
    //     tree[v[i]].push_back(u[i]);
    // }
    // int start = 0;
    // for (int i = 0; i < n; i ++)
    //     if (tree[i].size() == 1)
    //         start = i;
    // dfs(start, -1);

    vector<int> lbl(n);
    for (int i = 0; i < n; i ++) lbl[i] = i;

    return lbl;
}


bool isInSubtree(int rt, int v) {
    int l = rt, r = rt;
    while (v > r) {
        l = l * 2 + 1, r = r * 2 + 2;
    }
    return (l <= v && v <= r);
}

int find_next_station(int s, int t, vector<int> c) {
    sort(c.begin(), c.end());
    if (isInSubtree(c.back(), t))
        return c.back();
    c.pop_back();
    if (isInSubtree(c.back(), t))
        return c.back();
    c.pop_back();
    return c[0];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...