답안 #226086

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
226086 2020-04-22T13:49:30 Z theStaticMind 코알라 (APIO17_koala) C++14
컴파일 오류
0 ms 0 KB
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;

int B[101], R[101];

int minValue(int N, int W) {

    for(int i = 0; i < N; i++) B[i] = 1;

    playRound(B, R);

    for(int i = 0; i < N; i++) B[i] = 0;
    for(int i = 0; i < N; i++){
        if(R[i] > 1){
            B[i] = 1;
            break;
        }
    }

    playRound(B, R);

    for(int i = 0; i < N; i++){
        if(i == w) continue;
        if(R[i] <= B[i]) return i;
    }
    assert(0);

}

vector<bool> rem(N, true);
void recalc(){
    int sum = 0;
    for(int i = 0; i < N; i++) if(rem[i]) sum++;
    for(int i = 0; i < N; i++){
        if(rem[i]) B[i] = W / sum;
        else B[i] = 0;
    }
}

int maxValue(int N, int W) {

    for(int t = 0; t < 4; t++){
        recalc();
        playRound(B, R);
        for(int i = 0; i < N; i++){
            if(R[i] <= B[i]) rem = false;
        }
    }

    for(int i = 0; i < N; i++){
        if(rem[i]) return i;
    }

    assert(0);
}

int greaterValue(int N, int W) {
    // TODO: Implement Subtask 3 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    return 0;
}

void allValues(int N, int W, int *P) {
    if (W == 2*N) {
        // TODO: Implement Subtask 4 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    } else {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
}

Compilation message

koala.cpp: In function 'int minValue(int, int)':
koala.cpp:24:17: error: 'w' was not declared in this scope
         if(i == w) continue;
                 ^
koala.cpp: At global scope:
koala.cpp:31:18: error: 'N' was not declared in this scope
 vector<bool> rem(N, true);
                  ^
koala.cpp: In function 'void recalc()':
koala.cpp:34:24: error: 'N' was not declared in this scope
     for(int i = 0; i < N; i++) if(rem[i]) sum++;
                        ^
koala.cpp:35:24: error: 'N' was not declared in this scope
     for(int i = 0; i < N; i++){
                        ^
koala.cpp:36:27: error: 'W' was not declared in this scope
         if(rem[i]) B[i] = W / sum;
                           ^
koala.cpp: In function 'int maxValue(int, int)':
koala.cpp:47:36: error: no match for 'operator=' (operand types are 'std::vector<bool>' and 'bool')
             if(R[i] <= B[i]) rem = false;
                                    ^~~~~
In file included from /usr/include/c++/7/vector:65:0,
                 from /usr/include/c++/7/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from koala.cpp:2:
/usr/include/c++/7/bits/stl_bvector.h:682:5: note: candidate: std::vector<bool, _Alloc>& std::vector<bool, _Alloc>::operator=(const std::vector<bool, _Alloc>&) [with _Alloc = std::allocator<bool>]
     operator=(const vector& __x)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_bvector.h:682:5: note:   no known conversion for argument 1 from 'bool' to 'const std::vector<bool>&'
/usr/include/c++/7/bits/stl_bvector.h:713:5: note: candidate: std::vector<bool, _Alloc>& std::vector<bool, _Alloc>::operator=(std::vector<bool, _Alloc>&&) [with _Alloc = std::allocator<bool>]
     operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
     ^~~~~~~~
/usr/include/c++/7/bits/stl_bvector.h:713:5: note:   no known conversion for argument 1 from 'bool' to 'std::vector<bool>&&'
/usr/include/c++/7/bits/stl_bvector.h:743:5: note: candidate: std::vector<bool, _Alloc>& std::vector<bool, _Alloc>::operator=(std::initializer_list<bool>) [with _Alloc = std::allocator<bool>]
     operator=(initializer_list<bool> __l)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_bvector.h:743:5: note:   no known conversion for argument 1 from 'bool' to 'std::initializer_list<bool>'