제출 #587353

#제출 시각아이디문제언어결과실행 시간메모리
587353APROHACKCave (IOI13_cave)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #include "cave.h" #define PB push_back #define ll long long #define F first #define S second using namespace std; void exploreCave(int N) { vector<int>ceros; vector<int>combinacioncorrecta; vector<int> abrepuerta; ceros.resize(N); combinacioncorrecta.resize(N); abrepuerta.resize(N); for(int i = 0 ; i < N ; i++){ ceros[i]=0; combinacioncorrecta[i]=-1; } int good, bad; for(int i = 0 ; i < N ; i ++){ for(int j = 0 ; j < N ; j ++){ if(combinacioncorrecta[j]!=-1)ceros[j]=combinacioncorrecta[j]; else ceros[j]=0; } if(tryCombination(ceros)>i){//está abierta good=0, bad=1; }else{ good=1, bad=0; } int li=0, ls = N-1, mid; mid=(li+ls)/2; while(mid!=li && li!=ls){ mid=(li+ls)/2; for(int j = li ; j<= mid ; j++)if(combinacioncorrecta[j]==-1)ceros[j]=good; for(int j = mid+1 ; j<= ls ; j++)if(combinacioncorrecta[j]==-1)ceros[j]=bad; if(tryCombination(ceros.data())>i){ ls=mid; }else{ li=mid+1; } } combinacioncorrecta[li]=good; abrepuerta[li]=i; } answer(combinacioncorrecta.data(), abrepuerta.data()); }

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:26:27: error: cannot convert 'std::vector<int>' to 'int*'
   26 |         if(tryCombination(ceros)>i){//está abierta
      |                           ^~~~~
      |                           |
      |                           std::vector<int>
In file included from cave.cpp:3:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~