This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
int pos[N];
memset(pos, 0, sizeof(pos));
vector<int> ans(N, -1);
vector<int> idx(N, -1);
int cont = 0;
int last = tryCombination(pos);
if(last == -1) cont = N;
while(cont < N){
for(int i=0; i<N && cont<N; i++)if(ans[i] == -1){
pos[i] ^= 1;
int dist = tryCombination(pos);
if(dist == -1){
/*cerr << "OPEN\n";*/
for(int x=0; x<N; x++)
ans[x] = pos[x];
cont = N;
break;
}
if(last < dist){
idx[i] = last;
ans[i] = pos[i];
++cont;
last = dist;
}
else if(last > dist){
pos[i] ^= 1;
idx[i] = dist;
ans[i] = pos[i];
++cont;
}
else
pos[i] ^= 1;
}
}
for(int i=0; i<N; i++) if(idx[i] == -1){
pos[i] ^= 1;
int dist = tryCombination(pos);
idx[i] = dist;
pos[i] ^= 1;
}
answer(ans.data(), idx.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... |