답안 #920509

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
920509 2024-02-02T16:21:57 Z Pannda 질문 (CEOI14_question_grader) C++14
100 / 100
2943 ms 25080 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;
}
#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 decode(int n, int q, int h) {
    compute();
	q = f[q];
	h--;
	return q >> h & 1;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2856 ms 25080 KB Output is correct - maxh = 12
2 Correct 2943 ms 24796 KB Output is correct - maxh = 12