#include "cave.h"
#include <iostream>
using namespace std;
int S[5000], D[5000];
void exploreCave(int N)
{
int i, j;
for (i = 0; i < N; i++)
D[i] = -1;
for (i = 0; i < N; i++)
{
bool t = tryCombination(S) == i;
int l = -1, r = N - 1, mid;
while (r - l > 1)
{
mid = (r + l) / 2;
for (j = l; j <= mid; j++)
{
if (D[j] == -1)
S[j] = 1 - S[j];
}
if ((tryCombination(S) == i) == t)
l = mid;
else
r = mid;
for (j = l; j <= mid; j++)
{
if (D[j] == -1)
S[j] = 1 - S[j];
}
}
if (t)
S[r] = 1 - S[r];
D[r] = i;
}
answer(S, D);
}
| # | 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... |