#include "cave.h"
using namespace std;
void exploreCave(int N) {
int n = N;
int corr[n], rep[n];
for (int i = 0; i < n; i++) {
corr[i] = rep[i] = -1;
}
int nxtQ[n];
for (int j = 0; j < n; j++) {
nxtQ[j] = 0;
}
for (int i = 0; i < n; i++) {
bool closed = (tryCombination(nxtQ) == i);
int lo = 0, hi = n-1;
int finIdx = 0;
while (lo <= hi) {
int mid = (lo + hi) / 2;
int nxt[n];
for (int j = 0; j < n; j++) nxt[j] = nxtQ[j];
for (int j = 0; j <= mid; j++) {
if (corr[j] == -1) nxt[j] = 1;
}
bool c2 = (tryCombination(nxtQ) == i);
if (c2 == closed) {
hi = mid-1;
}
else {
lo = mid+1;
finIdx = mid;
}
}
rep[i] = finIdx;
if (closed) corr[i] = 1;
else corr[i] = 0;
nxtQ[rep[i]] = corr[i];
}
answer(rep, corr);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |