Submission #566060

#TimeUsernameProblemLanguageResultExecution timeMemory
566060piOOEICC (CEOI16_icc)C++17
7 / 100
372 ms476 KiB
#include "icc.h"
#include <bits/stdc++.h>

using namespace std;

#define all(x) begin(x), end(x)
#define sz(x) ((int)size(x))
#define trace(x) cout << #x << ": " << (x) << endl;

typedef long long ll;

int query(int size_a, int size_b, int a[], int b[]);

void run(int n);

void setRoad(int a, int b);

int ask(vector<int> a, vector<int> b) {
    return query(sz(a), sz(b), a.data(), b.data());
}

void run(int n) {
    vector<vector<bool>> ws(n, vector<bool>(n));
    for (int cnt = 1; cnt <= n - 1; ++cnt) {
        for (int i = 1; i <= n; ++i) {
            bool ok = false;
            for (int j = i + 1; j <= n; ++j) {
                if (!ws[i - 1][j - 1] && ask({i}, {j})) {
                    ws[i - 1][j - 1] = true;
                    setRoad(i, j);
                    ok = true;
                    break;
                }
            }
            if (ok) {
                break;
            }
        }
    }
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...