답안 #343613

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
343613 2021-01-04T09:35:05 Z Kerim 질문 (CEOI14_question_grader) C++17
100 / 100
4705 ms 24480 KB
int arr[924],pos;//C(12,6)
int encode (int n, int x, int y) {
	if(!pos){
		for(int i=0,x,y;i<4096;i++){x=i;y=0;
			while(x>=1)
				y+=(x%2),x/=2;	
			if(y==6)arr[pos++]=i;
		}
	}
	for(int i=0;i<12;i++)
		if((arr[x-1]>>i&1) and !(arr[y-1]>>i&1))
			return i+1;
}
int arr[924],pos;
int decode (int n, int q, int h){
	if(!pos){
		for(int i=0,x,y;i<4096;i++){x=i;y=0;
			while(x>=1)
				y+=(x%2),x/=2;	
			if(y==6)arr[pos++]=i;
		}
	}
	return (arr[q-1]>>(h-1)&1);
}

Compilation message

encoder.cpp: In function 'int encode(int, int, int)':
encoder.cpp:13:1: warning: control reaches end of non-void function [-Wreturn-type]
   13 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 4705 ms 24480 KB Output is correct - maxh = 12
2 Correct 4118 ms 24448 KB Output is correct - maxh = 12