# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
920508 | 2024-02-02T16:21:16 Z | Pannda | 질문 (CEOI14_question_grader) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; bool computed = false; vector<int> f; void compute() { if (computed) return; computed = true; for (int mask = 0; mask < (1 << 12); mask++) { if (__builtin_popcount(mask) == 6) { f.push_back(mask); } } } int encode(int n, int x, int y) { compute(); x = f[x]; y = f[y]; for (int i = 0; i < 12; i++) { if ((x >> i & 1) && !(y >> i & 1)) { return i + 1; } } assert(false); return -1; }