제출 #154823

#제출 시각아이디문제언어결과실행 시간메모리
154823Nightlight동굴 (IOI13_cave)C++14
컴파일 에러
0 ms0 KiB
#include "cave.h" #include <bits/stdc++.h> bool found[70005], ketemu; bool ANS[70005]; int longs; int binser1(){ int l = 0, r = longs-1, res = -1; while(l <= r){ int mid = (l+r)/2; int tmp[longs]; for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 1 : 0; if(tryCombination(tmp) > ketemu){ r = mid+1; res = mid; }else l = mid; } return res; } int binser2(){ int l = 0, r = longs-1, res = -1; while(l <= r){ int mid = (l+r)/2; int tmp[longs]; for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 0 : 1; if(tryCombination(tmp) > ketemu){ r = mid+1; res = mid; }else l = mid; } return res; } void exploreCave(int N) { bool Switch[N]; int door[N]; longs = N; for(ketemu = 0; ketemu < N; ketemu++){ int res = binser1(); if(res != -1){ door[ketemu] = res; ANS[res] = 1; found[res] = 1; Switch[res] = 1; continue; } res = binser2(); door[ketemu] = res; Switch[res] = 1; found[res] = 1; } answer(Switch, door); }

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:41:36: warning: use of an operand of type 'bool' in 'operator++' is deprecated [-Wdeprecated]
  for(ketemu = 0; ketemu < N; ketemu++){
                                    ^~
cave.cpp:55:24: error: cannot convert 'bool*' to 'int*' for argument '1' to 'void answer(int*, int*)'
     answer(Switch, door);
                        ^