#include "cmp.h"
#define set_bit bit_set
#define get_bit bit_get
void remember(int n) {
//edit this
set_bit(1 + (n & 7));
set_bit(9 + ((n >> 3) & 7) * 8);
set_bit(81 + ((n >> 6) & 7) * 64);
set_bit(729 + ((n >> 9) & 7) * 512);
}
int compare(int b) {
//edit this
if(!get_bit(1 + (b & 7))){
if((b & 7) >= 4){
for(int i = (b & 7) + 1; i < 8; i++){
if(get_bit(1 + i)){
return -1;
}
}
return 1;
}
else{
for(int i = 0; i < (b & 7); i++){
if(get_bit(1 + i)){
return 1;
}
}
return -1;
}
}
b >>= 3;
if(!get_bit(9 + (b & 7) * 8)){
if((b & 7) >= 4){
for(int i = (b & 7) + 1; i < 8; i++){
if(get_bit(9 + i * 8)){
return -1;
}
}
return 1;
}
else{
for(int i = 0; i < (b & 7); i++){
if(get_bit(9 + i * 8)){
return 1;
}
}
return -1;
}
}
b >>= 3;
if(!get_bit(81 + (b & 7) * 64)){
if((b & 7) >= 4){
for(int i = (b & 7) + 1; i < 8; i++){
if(get_bit(81 + i * 64)){
return -1;
}
}
return 1;
}
else{
for(int i = 0; i < (b & 7); i++){
if(get_bit(81 + i * 64)){
return 1;
}
}
return -1;
}
}
if(!get_bit(729 + (b & 7) * 512)){
if((b & 7) >= 4){
for(int i = (b & 7) + 1; i < 8; i++){
if(get_bit(729 + i * 512)){
return -1;
}
}
return 1;
}
else{
for(int i = 0; i < (b & 7); i++){
if(get_bit(729 + i * 512)){
return 1;
}
}
return -1;
}
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
832 ms |
92436 KB |
ZERO POINTS: For a=479 and b=1004, correct answer is 1, got -1 |