제출 #569460

#제출 시각아이디문제언어결과실행 시간메모리
569460penguin133동굴 (IOI13_cave)C++14
100 / 100
332 ms592 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
    int ans[N], D[N];
    int vis[N] = {0};
    for(int i=0;i<N;i++){
    	ans[i] = 0;
	}
	for(int i=0;i<N;i++){
		int ans2[N];
		for(int j=0;j<N;j++)ans2[j] = ans[j];
		int sg =0 ;
		int y = tryCombination(ans2);
		if(y <= i && y != -1)sg = 1;
		for(int j=0;j<N;j++)if(!vis[j])ans2[j] = 1 - sg;
		int s = 0, e = N - 1;
		while(s < e){
			int m = (s + e)/2;
			int ans3[N];
			for(int j=0;j<N;j++)ans3[j] = ans2[j];
			for(int j=s;j<=m;j++)if(!vis[j])ans3[j] = sg;
			int x = tryCombination(ans3);
			if(x > i || x == -1)e = m;
			else s = m + 1;
		}
		vis[s] = true;
		D[s] = i;
		ans[s] = sg;
	}
	answer(ans, D);
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…