제출 #154822

#제출 시각아이디문제언어결과실행 시간메모리
154822NightlightCave (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[N]; 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[N]; 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 'int binser1()':
cave.cpp:12:11: error: 'N' was not declared in this scope
   int tmp[N];
           ^
cave.cpp:13:33: error: 'tmp' was not declared in this scope
   for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 1 : 0;
                                 ^~~
cave.cpp:13:33: note: suggested alternative: 'tm'
   for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 1 : 0;
                                 ^~~
                                 tm
cave.cpp:14:21: error: 'tmp' was not declared in this scope
   if(tryCombination(tmp) > ketemu){
                     ^~~
cave.cpp:14:21: note: suggested alternative: 'tm'
   if(tryCombination(tmp) > ketemu){
                     ^~~
                     tm
cave.cpp: In function 'int binser2()':
cave.cpp:26:11: error: 'N' was not declared in this scope
   int tmp[N];
           ^
cave.cpp:27:33: error: 'tmp' was not declared in this scope
   for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 0 : 1;
                                 ^~~
cave.cpp:27:33: note: suggested alternative: 'tm'
   for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 0 : 1;
                                 ^~~
                                 tm
cave.cpp:28:21: error: 'tmp' was not declared in this scope
   if(tryCombination(tmp) > ketemu){
                     ^~~
cave.cpp:28:21: note: suggested alternative: 'tm'
   if(tryCombination(tmp) > ketemu){
                     ^~~
                     tm
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);
                        ^