int ans[1000], pos;
int encode (int n, int x, int y) {
if(pos == 0){
for(int i=0;i<(1<<12);i++){
if(__builtin_popcount(i) == 6) ans[pos++] = i;
}
}
x = ans[x-1], y = ans[y-1];
for(int i=0;i<12;i++)if(x&(1<<i) && !(y&(1<<i))) return i+1;
return 0;
}
int ans[1000], pos;
int decode (int n, int q, int h) {
if(pos == 0){
for(int i=0;i<(1<<12);i++){
if(__builtin_popcount(i) == 6) ans[pos++] = i;
}
}
q = ans[q-1];
return (q&(1<<(h-1)));
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2595 ms |
24336 KB |
wrong answer |
2 |
Incorrect |
2562 ms |
24516 KB |
wrong answer |