답안 #347092

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
347092 2021-01-11T17:46:09 Z ACmachine 질문 (CEOI14_question_grader) C++17
100 / 100
3879 ms 24680 KB
int sets[10001], id = 1;
    
int encode (int n, int x, int y) {
    if(id == 1){
        for(int i = 0; i < (1 << 12); ++i){
            if(__builtin_popcount(i) == 6)
                sets[id++] = i;
        }
    }
    x = sets[x];
    y = sets[y];
    for(int i = 0; i < 12; ++i){
        if((x&(1 << i)) && !(y&(1 << i)))
            return i + 1;
    } 
    return 0;
}
int pp[10001],cnt=0;
 
int decode (int n, int q, int h) {
    if (!cnt){
        for (int i=0;i<(1<<12);++i)
            if (__builtin_popcount(i) == 6)pp[cnt++]=i;
        
    }
    q = pp[q-1];
    return ((q>>(h-1))&1);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 3879 ms 24644 KB Output is correct - maxh = 12
2 Correct 3792 ms 24680 KB Output is correct - maxh = 12