int encode(int n, int x, int y) {
int i;
int cnt = 0;
for (i = 0;; i++) {
if ((x&(1 << i)) != (y & (1 << i))) {
if (x&(1 << i))
return cnt + 9 + 1;
else
return cnt + 1;
}
if ((x&(1 << i)) && (y & (1 << i)))
cnt++;
}
}
int decode(int n, int q, int h) {
int i;
h -= 1;
int cnt = 0;
for (i = 0;; i++) {
if (cnt == h % 9)
break;
if ((q & (1 << i)))
cnt++;
}
if (h >= 9 && (q & (1 << i)))
return 1;
if (h < 9 && (q & (1 << i)) == 0)
return 1;
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1087 ms |
80680 KB |
wrong answer |
2 |
Incorrect |
1122 ms |
81216 KB |
wrong answer |