bool first_testcase = 1;
bool a[13][924];
int encode(int n, int x, int y) {
if(first_testcase) {
first_testcase = 0;
int k = 0;
for(int i = 0; i < (1 << 12); i++) {
if(__builtin_popcount(i) == 6) {
for(int j = 0; j <= 12; j++)
a[j][k] = (i & (1 << j));
k++;
}
}
}
for(int i = 0; i < 12; i++) {
if(a[i][x] == 1 && a[i][y] == 0)
return i + 1;
}
return 0;
}
bool first_testcase = 1;
bool a[13][924];
int decode(int n, int q, int h) {
if(first_testcase) {
first_testcase = 0;
int k = 0;
for(int i = 0; i < (1 << 12); i++) {
if(__builtin_popcount(i) == 6) {
for(int j = 0; j <= 12; j++)
a[j][k] = (i & (1 << j));
k++;
}
}
}
return a[h - 1][q];
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3147 ms |
24260 KB |
Output is correct - maxh = 12 |
2 |
Correct |
3129 ms |
24048 KB |
Output is correct - maxh = 12 |