제출 #336894

#제출 시각아이디문제언어결과실행 시간메모리
336894blue동굴 (IOI13_cave)C++11
컴파일 에러
0 ms0 KiB
#include "cave.h" #include <iostream> #include <vector> using namespace std; int* S; int* D; int* Q; //switch_state, switch_door, query void b_search(int door, int pos, int a, int b) { if(a == b) { D[a] = door; S[a] = pos; } else { m = (a+b)/2; for(int i = 0; i < N; i++) { if(S[i] != -1) Q[i] = S[i]; else { if(a <= i && i <= m) Q[i] = pos; else Q[i] = !pos; } } int q = tryCombination(Q); if(q == door) b_search(door, pos, m+1, b); else b_search(door, pos, a, m); } } void exploreCave(int N) { int s[N], d[N], q[N]; S = s; D = d; Q = q; for(int i = 0; i < N; i++) S[i] = D[i] = -1; for(int door = 0; door < N; door++) { for(int i = 0; i < N; i++) { if(S[i] == -1) Q[i] = 0; else Q[i] = S[i]; } int q = tryCombination(Q); if(q == door) { //switch_pos of switch connected to door 1 = 1 b_search(door, 1, 0, N-1); } else { b_search(door, 0, 0, N-1); } } answer(s, d); }

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

cave.cpp: In function 'void b_search(int, int, int, int)':
cave.cpp:20:9: error: 'm' was not declared in this scope
   20 |         m = (a+b)/2;
      |         ^
cave.cpp:21:28: error: 'N' was not declared in this scope
   21 |         for(int i = 0; i < N; i++)
      |                            ^