제출 #35130

#제출 시각아이디문제언어결과실행 시간메모리
35130imeimi2000질문 (CEOI14_question_grader)C++14
100 / 100
1849 ms25676 KiB
int encode(int n, int x, int y) {
	static int db[921];
	static bool chk = false;
	if (!chk) {
		for (int i = 1, j = (1 << 6) - 2; i <= 920; ++i) {
			while (__builtin_popcount(++j) != 6);
			db[i] = j;
		}
	}
	chk = true;
	for (int i = 0; i < 12; ++i) {
		if (((db[x] >> i) & 1) == 1 && ((db[y] >> i) & 1) == 0) return i + 1;
	}
	return -1;
}
int decode(int n, int q, int h) {
	static int db[921];
	static bool chk = false;
	if (!chk) {
		for (int i = 1, j = (1 << 6) - 2; i <= 920; ++i) {
			while (__builtin_popcount(++j) != 6);
			db[i] = j;
		}
	}
	chk = true;
	return (db[q] >> (h - 1)) & 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...