#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
int place[5005];
int correct[5005];
int done[5005];
int query[5005];
int n;
void exploreCave(int N)
{
n = N;
for (int door = 0; door < n; door++)
{
for (int i = 0; i < n; i++)
{
if (done[i])
continue;
else
correct[i] = 1;
}
int k = tryCombination(correct);
int right = (k > door or k == -1);
int wrong = 1 - right;
int l = -1, r = n + 1;
while (r - l > 1)
{
int mid = (r + l) / 2;
for (int i = 0; i < n; i++)
{
if (done[i])
{
continue;
}
if (i <= mid)
correct[i] = right;
else
correct[i] = wrong;
}
k = tryCombination(correct);
(k > door or k == -1) ? (r = mid) : (l = mid);
}
// cout << "set door " << door << endl;
correct[r] = right;
place[r] = door;
done[r] = 1;
}
answer(correct, place);
}
| # | 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... |