#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N)
{
vector<int>S(N,0);
vector<int>D(N,-1);
vector<bool>used(N,false);
vector<int>correct(N,-1);
for(int door=0;door<N;door++)
{
int blocked=tryCombination(S.data());
int l=0,r=N-1,idx=-1;
while(l<=r){
int m=(l+r)/2;
vector<int>temp=S;
for(int i=0;i<=m;i++){
if(!used[i]){
temp[i]^=1;
}
}
int result=tryCombination(temp.data());
if(result==blocked){
for(int i=0;i<=m;i++){
if(!used[i]){
idx=i;
break;
}
}
r=m-1;
}else{
l=m+1;
}
}
D[idx]=blocked;
used[idx]=true;
S[idx]=0;
int result=tryCombination(S.data());
if(result==blocked||result==-1){
correct[idx]=0;
}else{
correct[idx]=1;
}
S[idx]=correct[idx];
}
answer(correct.data(),D.data());
}
# | 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... |