제출 #343730

#제출 시각아이디문제언어결과실행 시간메모리
343730amunduzbaev질문 (CEOI14_question_grader)C++14
0 / 100
2176 ms24584 KiB
int ans[1000], pos;

int encode (int n, int x, int y) {
	
	if(pos == 0){
		for(int i=0;i<(1<<12);i++){
			int tmp = 0, tt = i;
			while(tt) tmp += (tt%2), tt /= 2;
			if(tmp == 6) ans[pos++] = i;
		}
	}
	
	x = ans[x-1], y = ans[y-1];
	for(int i=0;i<12;i++)if(x&(1<<i) && !(y&(1<<i))) return i+1;
	return 0;
}
int ans[1000], pos;

int decode (int n, int q, int h) {
	
	if(pos == 0){
		for(int i=0;i<(1<<12);i++){
			int tmp = 0, tt = i;
			while(tt) tmp += (tt%2), tt /= 2;
			if(tmp == 6) ans[pos++] = i;
		}
	}
	
	
	q = ans[q-1];
	return (q&(1<<(h-1)));
}
#Verdict Execution timeMemoryGrader output
Fetching results...