이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "cave.h"
using namespace std;
int s[5005];
int state[5005];
int now[5005];
int last[5005];
int mp[5005];
void exploreCave(int N) {
int xx = tryCombination(s);
if(xx != 0) now[0] = true;
else now[0] = false;
for(int i=0;i<N;i++)
{
int l = 0;
int r = N;
while(l<=r)
{
if(l == r)
{
int xx = tryCombination(s);
if(xx == l)
{
s[l] ^=1;
}
break;
}
int mid = (l+r)>>1;
for(int j=l;j<=mid;j++)
{
if(state[j] == false)s[j] ^= 1;
}
int xx = tryCombination(s);
bool flag = false;
if(xx != i)flag = true;
if(now[i] != flag)l = mid+1;
else r = mid;
now[i] = flag;
}
state[l] = true;
mp[i] = l;
}
answer(s,mp);
return;
}
# | 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... |