제출 #104082

#제출 시각아이디문제언어결과실행 시간메모리
104082ly20동굴 (IOI13_cave)C++14
0 / 100
77 ms516 KiB
#include<bits/stdc++.h>
#include "cave.h"
using namespace std;
void exploreCave(int N)
{
	int est[N],estp[N],num[N];
	for(int i=0;i<N;i++)
	{
		est[i]=0;
		num[i]=-1;
		estp[i]=-1;
	}
	for(int at=0;at<N;at++)
	{
		int ini=0,fim=N-1;
		if(tryCombination(est)!=at)
		{
			for(int i=ini;i<=fim;i++)
			{
				if(estp[i]==-1)est[i]=1-est[i];	
			}	
		}
		while(ini<fim)
		{
			int m=(ini+fim)/2;
			if(m==ini)m++;
			for(int i=m;i<=fim;i++)
			{
				if(estp[i]==-1)est[i]=1-est[i];
			}
			if(tryCombination(est)!=at)
			{
				ini=m;
				if(fim<=ini)break;
				for(int i=ini;i<=fim;i++)
				{
					if(estp[i]==-1)est[i]=1-est[i];	
				}	
			}		
			else fim=m-1;
		}
		estp[fim]=1-est[fim];
		num[fim]=at;
	}	
	answer(estp,num);
}
#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...