답안 #39451

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
39451 2018-01-15T14:08:26 Z smu201111192 비교 (balkan11_cmp) C++14
컴파일 오류
0 ms 0 KB
int bit_get(int addr)
{
    if(boiPhase == 1) {
        fprintf(stderr, "ZERO POINTS: bit_get called by remember()\n");
        exit(1);
    }
    //fprintf(stderr, " %d",addr);
    boiAccesses++;
    if((addr > 10240) || (addr < 1)) {
        fprintf(stderr, "ZERO POINTS: bit_get with address out of range\n");
        exit(1);
    }
    return boiMem[boi_guessval][addr]?1:0;
}

/* these are just prototypes that you must implement*/
void remember(int n){
    int a[4]; int pos = 3;
    while(pos >= 0){
        a[pos--] = (n % 8); n/=8;
    }
    int cur = 1;
    for(int i=0;i<4;i++){
        cur = cur * 8 + a[i];
        bit_set(cur);
    }
}
int compare(int b) {
    int n = b;
    int a[4]; int pos = 3;
    while(pos >= 0){
        a[pos--] = (n % 8); n/=8;
    }
    int cur = 1; int i = 0;
    for(;i<4;i++){
        cur = cur * 8 + a[i];
        int bit = bit_get(cur);
        if(!bit) break;
    }
    if(i == 4)return 0;
    cur /= 8;
    int chk = 0;
    for(int k = 1; k < 8 ;k++){
        int bit = bit_get(cur * 8+k);
        if(bit == 1) chk = k;
    }
    if(chk > a[i]) return -1;
    return 1;
}

Compilation message

cmp.cpp: In function 'int bit_get(int)':
cmp.cpp:3:8: error: 'boiPhase' was not declared in this scope
     if(boiPhase == 1) {
        ^~~~~~~~
cmp.cpp:4:17: error: 'stderr' was not declared in this scope
         fprintf(stderr, "ZERO POINTS: bit_get called by remember()\n");
                 ^~~~~~
cmp.cpp:4:9: error: 'fprintf' was not declared in this scope
         fprintf(stderr, "ZERO POINTS: bit_get called by remember()\n");
         ^~~~~~~
cmp.cpp:5:9: error: 'exit' was not declared in this scope
         exit(1);
         ^~~~
cmp.cpp:8:5: error: 'boiAccesses' was not declared in this scope
     boiAccesses++;
     ^~~~~~~~~~~
cmp.cpp:10:17: error: 'stderr' was not declared in this scope
         fprintf(stderr, "ZERO POINTS: bit_get with address out of range\n");
                 ^~~~~~
cmp.cpp:10:9: error: 'fprintf' was not declared in this scope
         fprintf(stderr, "ZERO POINTS: bit_get with address out of range\n");
         ^~~~~~~
cmp.cpp:11:9: error: 'exit' was not declared in this scope
         exit(1);
         ^~~~
cmp.cpp:13:12: error: 'boiMem' was not declared in this scope
     return boiMem[boi_guessval][addr]?1:0;
            ^~~~~~
cmp.cpp:13:19: error: 'boi_guessval' was not declared in this scope
     return boiMem[boi_guessval][addr]?1:0;
                   ^~~~~~~~~~~~
cmp.cpp: In function 'void remember(int)':
cmp.cpp:25:9: error: 'bit_set' was not declared in this scope
         bit_set(cur);
         ^~~~~~~
cmp.cpp:25:9: note: suggested alternative: 'bit_get'
         bit_set(cur);
         ^~~~~~~
         bit_get