답안 #463437

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
463437 2021-08-11T06:53:55 Z lukadupli 질문 (CEOI14_question_grader) C++14
100 / 100
4923 ms 24152 KB
#include <bits/stdc++.h>

using namespace std;

int strat[1000];

bool first_time = 1;

int encode(int n, int x, int y){
    if(first_time){
        first_time = 0;

        int pos = 1;

        for(int mask = 0; mask < (1 << 12); mask++){
            if(__builtin_popcount(mask) == 6){
                strat[pos] = mask;
                pos++;
            }
        }
    }

    for(int h = 0; h <= 11; h++){
        bool xb = strat[x] & (1 << h);
        bool yb = strat[y] & (1 << h);
        if(xb && !yb) return h + 1;
    }
}
#include <bits/stdc++.h>

using namespace std;

int strat[1000];

bool first_time = 1;

int decode(int n, int q, int h){
    if(first_time){
        first_time = 0;

        int pos = 1;

        for(int mask = 0; mask < (1 << 12); mask++){
            if(__builtin_popcount(mask) == 6){
                strat[pos] = mask;
                pos++;
            }
        }
    }

    h--;
    if(strat[q] & (1 << h)) return 1;
    return 0;
}

Compilation message

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