# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
648948 | tigar | 동굴 (IOI13_cave) | C++14 | 348 ms | 504 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
bool check[5050];
int combs[5050], doors[5050];
void exploreCave(int n)
{
for(int br=0; br<n; br++)
{
for(int i=0; i<n; i++)
if(!check[i])combs[i]=0;
int beg=tryCombination(combs), opening=1;
if(beg>br or beg==-1)opening=0;
int l=0, r=n, midd=n/2;
while(r-l>1)
{
for(int i=0; i<n; i++)
if(!check[i])
if(i<l or i>midd)combs[i]=abs(opening-1);
else combs[i]=opening;
int begg=tryCombination(combs);
if(begg>br or begg==-1){r=midd; midd=(l+r)/2;}
else {l=midd+1; midd=(l+r)/2;}
}
if(l==r){check[l]=true; doors[l]=br; combs[l]=opening;}
else
{
combs[l]=opening; combs[r]=abs(opening-1);
int xx=tryCombination(combs);
if(xx>br or xx==-1){check[l]=true; doors[l]=br; combs[l]=opening;}
else {check[r]=true; doors[r]=br; combs[r]=opening;}
}
}
return answer(combs, doors);
}
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |