제출 #1212214

#제출 시각아이디문제언어결과실행 시간메모리
1212214NValchanov죄수들의 도전 (IOI22_prison)C++20
컴파일 에러
0 ms0 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; vector < vector < int > > devise_strategy(int n) { int lg = 1; int cur = 2; while(cur <= n) { lg++; cur *= 2; } vector < vector < int > > ans; ans.resize(3 * lg + 1); for(int reads = 0; reads <= 3 * lg; reads++) { ans[reads].resize(n + 1, 0); } for(int reads = 0; reads <= 3 * lg; reads++) { int whole = reads / 3; int remainder = i % 3; if(remainder == 0) { ans[reads][0] = 0; // cheta A for(int sees = 1; sees <= n; sees++) { int which = lg - whole - 1; bool bitb = (bool)(sees & (1 << which)); int writes = reads + bitb + 1; // pri A % 2 == 0 -> napisanoto + 1 (ostatuk 1), pri A % 2 == 1 -> napisanoto + 2 (ostatuk 2) ans[reads][sees] = writes; } } else { ans[reads][0] = 1; // cheta B for(int sees = 1; sees <= n; sees++) { bool bita = remainder - 1; // ostatuk na napisanoto 1 -> A % 2 == 0, pri ostatuk na napisanoto 2 -> A % 2 == 1 int which = lg - whole - 1; bool bitb = (bool)(sees & (1 << which)); if(bita < bitb) // A < B ans[reads][sees] = -1; else if(bita > bitb) // A > B ans[reads][sees] = -2; else // nqmame dostatuchno info ans[reads][sees] = 3 * (whole + 1); } } } return ans; }

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

prison.cpp: In function 'std::vector<std::vector<int> > devise_strategy(int)':
prison.cpp:29:25: error: 'i' was not declared in this scope
   29 |         int remainder = i % 3;
      |                         ^