이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "cave.h"
#include<bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
int what[N];
int where[N];
bool ok[N];
for (int i = 0; i<N; i++) {
int k = tryCombination(what);
int now = 0;
if(k == -1 || k == i) {
now = 1;
}
int l = 0, r = N - 1;
int pos;
while(l < r) {
int temp[N];
int l1 = 0, r1 = (l + r + 1) / 2;
int l2 = (l + r + 1) / 2 + 1, r2 = r;
for (int j = 0; j<N; j++) {
if(ok[j]) {
temp[j] = what[j];
continue;
}
if(j >= l2 && j <= r2) {
temp[j] = now;
}
else {
temp[j] = now ^ 1;
}
}
int lx = tryCombination(temp);
if(lx == -1 || lx == i) {
l = l1, r = r1;
}
else {
l = l2, r = r2;
}
}
pos = l;
what[pos] = now;
where[i] = pos;
ok[pos] = 1;
}
answer(what, where);
}
# | 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... |