답안 #37041

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
37041 2017-12-20T15:44:50 Z aome 질문 (CEOI14_question_grader) C++14
100 / 100
1922 ms 27480 KB
#include <bits/stdc++.h>
using namespace std;

namespace Encoder {
	int mask[925], id;
	bool flag;

	void label() {
		if (flag) return; flag = 1;
		for (int i = 0; i < (1 << 12); ++i) {
			if (__builtin_popcount(i) != 6) continue;
			mask[++id] = i; 
		}
	}	
}

int encode(int N, int x, int y) {
	Encoder::label();
	for (int i = 0; i < 12; ++i) {
		bool X = Encoder::mask[x] >> i & 1;
		bool Y = Encoder::mask[y] >> i & 1;
		if (X == 1 && Y == 0) return i + 1;
	}
}
#include <bits/stdc++.h>
using namespace std;

namespace Decoder {
	int mask[925], id;
	bool flag;

	void label() {
		if (flag) return; flag = 1;
		for (int i = 0; i < (1 << 12); ++i) {
			if (__builtin_popcount(i) != 6) continue;
			mask[++id] = i; 
		}
	}	
}

int decode(int N, int q, int h) {
	Decoder::label();
	return Decoder::mask[q] >> (h - 1) & 1;
}

Compilation message

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