Submission #1305679

#TimeUsernameProblemLanguageResultExecution timeMemory
1305679hosh동굴 (IOI13_cave)C++20
Compilation error
0 ms0 KiB
#include "cave.h"
#include <iostream>
#include <vector>
using namespace std;

void exploreCave(int N) {
    vector<int> S(N, 0);
    vector<int> D(N, -1);
    vector<int> A(N, 0);
    vector<int> B;

    for (int door = 0; door < N; door++) {

        for (int i = 0; i < N; i++) {
            if (A[i] == 0) {
                S[i] = 1;
            }
        }

        int trt = tryCombination(S);
        int doorv;

        if (trt == -1 || trt > door) {
            doorv = 1;
        } else {
            doorv = 0;
        }

        B.clear();
        for (int i = 0; i < N; i++) {
            if (A[i] == 0) {
                B.push_back(i);
            }
        }

        while (B.size() > 1) {

            int half = B.size() / 2;

            for (int i = 0; i < B.size(); i++) {
                if (i < half) {
                    S[B[i]] = doorv;
                } else {
                    S[B[i]] = 1 - doorv;
                }
            }

            trt = tryCombination(S);

            if (trt == -1 || trt > door) {
                B.resize(half);
            } else {
                B.erase(B.begin(), B.begin() + half);
            }
        }

        int sw = B[0];
        A[sw] = 1;
        S[sw] = doorv;
        D[door] = sw;
    }

    answer(S, D);
}

int main(){
int N;  
cin >> N;
exploreCave(N);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:20:34: error: cannot convert 'std::vector<int>' to 'int*'
   20 |         int trt = tryCombination(S);
      |                                  ^
      |                                  |
      |                                  std::vector<int>
In file included from cave.cpp:1:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~
cave.cpp:48:34: error: cannot convert 'std::vector<int>' to 'int*'
   48 |             trt = tryCombination(S);
      |                                  ^
      |                                  |
      |                                  std::vector<int>
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~
cave.cpp:63:12: error: cannot convert 'std::vector<int>' to 'int*'
   63 |     answer(S, D);
      |            ^
      |            |
      |            std::vector<int>
cave.h:9:17: note:   initializing argument 1 of 'void answer(int*, int*)'
    9 | void answer(int S[], int D[]);
      |             ~~~~^~~