Submission #508840

#TimeUsernameProblemLanguageResultExecution timeMemory
508840tabr동굴 (IOI13_cave)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#ifdef tabr
#include "library/debug.cpp"
#else
#define debug(...)
#endif

#include "cave.h"

int tryCombination(int[]);

int answer(int[], int[]);

void exploreCave(int n) {
    int a[5000] = {};
    int b[5000] = {};
    vector<int> c;
    for (int i = 0; i < n; i++) {
        c.emplace_back(i);
    }
    for (int i = 0; i < n; i++) {
        for (int j : c) {
            a[j] = 0;
        }
        int k = 0;
        if (tryCombination(a) != i) {
            k = 1;
        }
        int lo = 0;
        int hi = (int) c.size();
        while (hi - lo > 1) {
            int mid = (hi + lo) / 2;
            for (int j = 0; j < (int) c.size(); j++) {
                if (j < mid) {
                    a[j] = k ^ 1;
                } else {
                    a[j] = k;
                }
            }
            if (tryCombination(a) == i) {
                hi = mid;
            } else {
                lo = mid;
            }
        }
        a[hi] = k;
        b[i] = hi;
        c.erase(c.begin() + hi);
    }
    answer(a, b);
}

Compilation message (stderr)

cave.cpp:13:5: error: ambiguating new declaration of 'int answer(int*, int*)'
   13 | int answer(int[], int[]);
      |     ^~~~~~
In file included from cave.cpp:9:
cave.h:9:6: note: old declaration 'void answer(int*, int*)'
    9 | void answer(int S[], int D[]);
      |      ^~~~~~