#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
int const UNKNOWN=2;
int const MAX=5005;
int bec[MAX];
int usa[MAX];
int test[MAX];
void schimba(int pref,int valp,int vals,int N){
int i;
for(i=0;i<N;++i)
if(bec[i]!=UNKNOWN)
test[i]=bec[i];
else
if(i<=pref)
test[i]=valp;
else
test[i]=vals;
}
void exploreCave(int N){
int i;
for(i=0;i<N;++i)
bec[i]=UNKNOWN;
for(i=0;i<N;++i){
schimba(N-1,0,1,N);
int val;
if(tryCombination(test)==i)
val=1;
else
val=0;
int st=-1,dr=N-1;
/// (]
while(dr-st>1){
int mij=(st+dr)/2;
schimba(mij,val,1-val,N);
if(tryCombination(test)!=i)
dr=mij;
else
st=mij;
}
bec[dr]=val;
usa[dr]=i;
}
answer(bec,usa);
}
# | 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... |