#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
void exploreCave(int N)
{
vector<int> S(N, 0), D(N, 0);
vector<bool> known(N, false);
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
if (!known[j])
S[j] = 0;
int res = tryCombination(S.data());
bool valTry = (res == i ? 1 : 0);
int left = 0, right = N, ans = -1;
while (left < right - 1)
{
int mid = (left + right) / 2;
for (int j = 0; j < N; j++)
{
if (!known[j])
{
if (j < mid)
S[j] = valTry;
else
S[j] = valTry ^ 1;
}
}
int res = tryCombination(S.data());
if (res == i)
ans = mid, left = mid;
else
right = mid;
}
known[left] = 1;
S[left] = valTry;
D[left] = i;
}
answer(S.data(), D.data());
return;
}
# | 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... |