제출 #169286

#제출 시각아이디문제언어결과실행 시간메모리
169286AlexLuchianov동굴 (IOI13_cave)C++14
컴파일 에러
0 ms0 KiB
#include "cave.h"
#include <vector>
using namespace std;

void exploreCave(int N) {
  vector<int> sol(N);
  vector<int> door(N), seen(N);
  for(int i = 0; i < N; i++){
    if(i != tryCombination(sol))
      for(int j = 0; j < N; j++)
        if(seen[j] == 0)
          sol[j] ^= 1;
    int from = 0, to = N - 1;

    while(from < to){
      int mid = (from + to) / 2;
      for(int j = 0; j <= mid; j++
        if(seen[j] == 0)
          sol[j] ^= 1;
      int result = tryCombination(sol);
      for(int j = 0; j <= mid; j++
        if(seen[j] == 0)
          sol[j] ^= 1;
      if(i == result)
        from = mid + 1;
      else
        to = mid;
    }
    door[from] = i;
    seen[from] = 1;
  }
  answer(sol, door);
}

컴파일 시 표준 에러 (stderr) 메시지

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:9:31: error: cannot convert 'std::vector<int>' to 'int*' for argument '1' to 'int tryCombination(int*)'
     if(i != tryCombination(sol))
                               ^
cave.cpp:18:9: error: expected ')' before 'if'
         if(seen[j] == 0)
         ^~
cave.cpp:20:38: error: cannot convert 'std::vector<int>' to 'int*' for argument '1' to 'int tryCombination(int*)'
       int result = tryCombination(sol);
                                      ^
cave.cpp:22:9: error: expected ')' before 'if'
         if(seen[j] == 0)
         ^~
cave.cpp:32:19: error: cannot convert 'std::vector<int>' to 'int*' for argument '1' to 'void answer(int*, int*)'
   answer(sol, door);
                   ^