답안 #1014279

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1014279 2024-07-04T15:53:06 Z thangdz2k7 Meetings (JOI19_meetings) C++17
0 / 100
28 ms 664 KB
#include <bits/stdc++.h>
#include "meetings.h"

using namespace std;

void Ans(int u, int v){
    if (u < v) Bridge(u, v);
    else Bridge(v, u);
}

void Solve(vector <int> v){
    if (v.size() < 2) return;
    random_shuffle(v.begin(), v.end());
    int l = v[0], r = v[1];
    map <int, vector <int>> m;
    vector <int> path;
    for (auto k : v){
        if (k == l || k == r) continue;
        int x = Query(l, r, k);
        if (!m.count(x)) path.push_back(x);
        m[x].push_back(k);
    }

    sort(path.begin(), path.end(), [&](int x, int y){
        return Query(v[0], x, y) == x;
    });

    int last = v[0];
    for (auto k : path) Ans(last, k), last = k;
    Ans(last, v[1]);

    for (auto it : m) Solve(it.second);
}

void Solve(int n){
    srand(time(0));
    vector <int> cur(n, 0);
    for (int i = 1; i < n; ++ i) cur[i] = i;
    Solve(cur);
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 28 ms 664 KB Wrong Answer [1]
2 Halted 0 ms 0 KB -