답안 #189100

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
189100 2020-01-13T17:57:33 Z TadijaSebez 질문 (CEOI14_question_grader) C++11
33 / 100
1593 ms 106224 KB
//#include <assert.h>
int encode (int n, int x, int y) {
	for(int i=0;i<10;i++)
	{
		if((x>>i&1) && !(y>>i&1)) return i+1;
	}
	int sum=0;
	for(int i=0;i<10;i++) sum+=x>>i&1;
	return 10+sum;
	return -1;
	/*for(int step=1;step<=10;step++)
	{
		int a=0,b=0;
        for(int i=0;i<10;i+=step)
		{
			a^=x>>i&1;
			b^=y>>i&1;
		}
		if(a!=b) return (step-1)*2+a+1;
	}
	assert(0);
	return -1;*/
}
int decode (int n, int q, int h) {
	h--;
	if(h<10)
	{
		if(q>>h&1) return 1;
		else return 0;
	}
	else
	{
		h-=9;
		int sum=0;
		for(int i=0;i<10;i++) sum+=q>>i&1;
		if(sum==h) return 1;
		else return 0;
	}
	/*int step=h/2+1,a=0;
	for(int i=0;i<10;i+=step) a^=q>>i&1;
	if(a==h%2) return 1;
	else return 0;*/
}
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1593 ms 106088 KB Output is partially correct - maxh = 18
2 Partially correct 1585 ms 106224 KB Output is partially correct - maxh = 18