답안 #16330

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
16330 2015-08-21T11:53:37 Z comet 동굴 (IOI13_cave) C++
25 / 100
242 ms 520 KB
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
#include "cave.h"
int a[5000],b[5000],p,n;
bool flip(int L,int R){
	bool ret=0;
	for(int i=L;i<=R;i++){
		if(b[i]<0)a[i]=!a[i],ret=1;
	}
	return ret;
}
void finish(){
	for(int i=0;i<n;i++){
		if(b[i]<0){
			a[i]=!a[i];
			b[i]=tryCombination(a);
			a[i]=!a[i];
		}
	}
	answer(a,b);
	exit(0);
}
void f(int L,int R,int v){
	if(L==R){
		b[L]=v;
		if(p==v)a[L]=!a[L];
		return;
	}
	int mid=(L+R)/2;
	if(!flip(L,mid)){
		f(mid+1,R,v);
		return;
	}
	int t=tryCombination(a);
	if(t<0){
		finish();
		return;
	}
	flip(L,mid);
	if(p==t)f(mid+1,R,v);
	else f(L,mid,v);
}
void exploreCave(int N){
	n=N;
	memset(b,-1,sizeof(b));
	for(int i=0;i<N;i++){
		/*printf("%d\n",i);
		for(int j=0;j<N;j++)printf("%d ",a[j]);puts("");
		for(int j=0;j<N;j++)printf("%d ",b[j]);puts("");*/

		p=tryCombination(a);
		if(p<0)finish();
		f(0,N-1,i);
	}
	answer(a,b);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 83 ms 512 KB Output is correct
2 Correct 110 ms 512 KB Output is correct
3 Correct 161 ms 476 KB Output is correct
4 Correct 149 ms 384 KB Output is correct
5 Correct 26 ms 472 KB Output is correct
6 Correct 144 ms 472 KB Output is correct
7 Correct 168 ms 480 KB Output is correct
8 Correct 5 ms 512 KB Output is correct
9 Correct 5 ms 384 KB Output is correct
10 Correct 5 ms 384 KB Output is correct
11 Correct 5 ms 512 KB Output is correct
12 Correct 191 ms 520 KB Output is correct
13 Correct 127 ms 504 KB Output is correct
14 Correct 135 ms 472 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 512 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 27 ms 384 KB Output is correct
4 Correct 6 ms 512 KB Output is correct
5 Correct 5 ms 512 KB Output is correct
6 Correct 18 ms 512 KB Output is correct
7 Correct 19 ms 512 KB Output is correct
8 Correct 21 ms 512 KB Output is correct
9 Correct 28 ms 512 KB Output is correct
10 Correct 30 ms 384 KB Output is correct
11 Correct 18 ms 512 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 396 KB Output is correct
5 Incorrect 5 ms 384 KB Answer is wrong
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 512 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 6 ms 384 KB Output is correct
5 Incorrect 5 ms 512 KB Answer is wrong
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 90 ms 476 KB Output is correct
2 Correct 91 ms 484 KB Output is correct
3 Correct 161 ms 512 KB Output is correct
4 Correct 126 ms 472 KB Output is correct
5 Correct 21 ms 476 KB Output is correct
6 Correct 151 ms 512 KB Output is correct
7 Correct 153 ms 504 KB Output is correct
8 Correct 5 ms 452 KB Output is correct
9 Correct 5 ms 384 KB Output is correct
10 Correct 141 ms 512 KB Output is correct
11 Correct 167 ms 384 KB Output is correct
12 Correct 242 ms 472 KB Output is correct
13 Correct 22 ms 460 KB Output is correct
14 Correct 5 ms 384 KB Output is correct
15 Correct 5 ms 512 KB Output is correct
16 Correct 27 ms 484 KB Output is correct
17 Correct 20 ms 460 KB Output is correct
18 Correct 27 ms 512 KB Output is correct
19 Correct 20 ms 384 KB Output is correct
20 Correct 17 ms 476 KB Output is correct
21 Correct 19 ms 384 KB Output is correct
22 Incorrect 6 ms 396 KB Answer is wrong
23 Halted 0 ms 0 KB -