#include "cave.h"
#include "bits/stdc++.h"
using namespace std;
mt19937 rng(chrono::steady_clock().now().time_since_epoch().count());
void exploreCave(int n)
{
int s[n], d[n];
bool used[n];
memset(s, 0, sizeof(s));
memset(used, 0, sizeof(used));
int query = tryCombination(s);
while(query != -1)
{
vector<int> v;
for (int i = 0; i < n; ++i)
{
if (!used[i])
{
v.emplace_back(i);
}
}
shuffle(v.begin(), v.end(), rng);
for (auto i : v)
{
s[i] = !s[i];
int currQuery = tryCombination(s);
if (currQuery == -1 || currQuery > query)
{
query = currQuery;
used[i] = 1;
break;
}
s[i] = !s[i];
}
}
// assert(tryCombination(s) == -1);
for (int i = 0; i < n; ++i)
{
s[i] = !s[i];
int pos = tryCombination(s);
d[i] = pos;
s[i] = !s[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... |