제출 #7003

#제출 시각아이디문제언어결과실행 시간메모리
7003gs13068동굴 (IOI13_cave)C++98
100 / 100
1661 ms608 KiB
#include "cave.h"

int S[5000];
int D[5000];
int V[5000];

void exploreCave(int N)
{
	int l,r,m;
	int i,j,k;
    for(i=0;i<N;i++)V[i]=0;
    for(i=0;i<N;i++)
	{
		for(j=0;j<N;j++)if(!V[j])S[j]=0;
		j=tryCombination(S);
		if(j<0)j=N;
        if(j>i)k=0;
        else k=1;

		l=0;r=N-1;
		while(l<r)
		{
			m=(l+r)/2;
            for(j=0;j<N;j++)if(!V[j])
            {
            	if(j>=l&&j<=m)S[j]=k;
            	else S[j]=!k;
            }
            j=tryCombination(S);
            if(j<0)j=N;
            if(j>i)r=m;
            else l=m+1;
		}
		S[l]=k;
		D[l]=i;
		V[l]=1;
	}
	answer(S,D);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...