#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstdio>
#include "cave.h"
using namespace std;
void exploreCave(int N) {
int x[N];
fill(x,x+N,1);
int s[N];
fill(x,x+N,0);
int an=0;
int c[N];
int h=-1;
while(true){
for(int i=0; i<N; i++){
if(s[i]==0){
x[i]=1;
}
}
int a=tryCombination(x);
h++;
if(a==-1){
break;
}
if(a>an){
int ans=-1;
int l=0,r=N-1;
while(l<=r){
int mid=(l+r)/2;
for(int i=l; i<mid; i++){
if(s[i]==0){
x[i]=1-x[i];
}
}
int k=tryCombination(x);;
if(k==a){
l=mid+1;
ans=mid;
}
else r=mid-1;
}
an=a-1;
s[ans]=1;
c[ans]=h;
}
//x[a]=1-x[a];
}
//for(int i=0; i<N; i++)c[i]=i;
return answer(x, c);
}
# | 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... |