#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
void exploreCave(int n){
int tr[n];
int pos[n];
int s[n];
int d[n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(pos[i]!=0){
tr[i]=pos[i]-1;
continue;
}
tr[i]=0;
}
int wh=tryCombination(tr);
bool da;
int last=0;
if(wh==i)da=1;
else da=0;
int l=-1,r=n,mid,answr;
while(l+1<r){
mid=(l+r)/2;
if(last<mid){
for(int j=last+1;j<=mid;j++){
if(pos[i]==0)tr[j]=1;
}
}else{
for(int j=mid+1;j<=last;j++){
if(pos[i]==0)tr[j]=0;
}
}
last=mid;
int wh=tryCombination(tr);
if(da==0){
if(wh==i)r=mid;
else {
l=mid;
answr=mid;
}
}else{
if(wh==i)l=mid;
else {
r=mid;
answr=mid;
}
}
}
d[i]=answr;
pos[answr]=da;
s[answr]=da;
}
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... |