#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
int S[N], D[N];
int comb[N];
vector<int> vec(N);
iota(vec.begin(),vec.end(),0);
for(int i = 0; i < N; i++){
int open = 1;
for(auto u : vec) comb[u] = 0;
int res = tryCombination(comb);
if(res != i) open = 0;
int l = 0, r = (int) vec.size();
while(l+1 < r){
int mid = (l+r)>>1;
for(int j = 0; j < (int) vec.size(); j++)
if(j <= mid) comb[vec[j]] = open^1;
else comb[vec[j]] = open;
res = tryCombination(comb);
if(res==i) l = mid;
else r = mid;
}
D[i] = vec[l];
S[D[i]] = open;
comb[D[i]] = open;
vec.erase(vec.begin()+l);
}
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... |