제출 #311652

#제출 시각아이디문제언어결과실행 시간메모리
311652saarang123동굴 (IOI13_cave)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> //#include "cave.h" using namespace std; using ll = long long; using ld = long double; #define all(x) x.begin(), x.end() #define pb push_back #define mp make_pair template<class T> bool remin(T& a, const T& b) { return a > b ? a = b, 1 : 0; } template<class T> bool remax(T& a, const T& b) { return a < b ? a = b, 1 : 0; } std::mt19937 rng((int) std::chrono::steady_clock::now().time_since_epoch().count()); /* void answer(int s[], int d[]) { int n = sizeof(s)/ sizeof(s[0]); cout << "Code: "; for(int i = 0; i < n; i++) cout << s[i] << " "; cout << endl; cout << "Doors: "; for(int i = 0; i < n; i++) cout << d[i] << " "; cout << endl; cout << "Exit" << endl; } int tryCombination(int s[]) { size_t n = (2 * sizeof(s) / sizeof(s[0])); cout << "Query for doors: " << sizeof(s) << " " << sizeof(s[0]) << endl; for(int i = 0; i < n; i++) cout << s[i] << " "; cout << endl; int x; cin >> x; return x; } int binsearch(int a[], int k) { int n = sizeof(a) / sizeof(a[0]); int mn = 0, mx = n - 1; while(mn < mx) { int mid = (mn + mx) >> 1; for(int i = mn; i <= mid; i++) a[i] ^= 1; int x = tryCombination(a); for(int i = mn; i <= mid; i++) a[i] ^= 1; if(x != k) mx = mid; else mn = mid + 1; } return mn; }*/ void exploreCave(int n) { //cout << n << endl; int a[n], s[n], d[n]; for(int i = 0; i < n; i++) a[i] = 0, s[i] = 0, d[i] = -1; int x = tryCombination(a); while(x != -1) { int id; int mn = 0, mx = n - 1; while(mn < mx) { int mid = (mn + mx) >> 1; for(int i = mn; i <= mid; i++) a[i] ^= 1; int x = tryCombination(a); for(int i = mn; i <= mid; i++) a[i] ^= 1; if(x != k) mx = mid; else mn = mid + 1; } id = mn; d[id] = x; a[id] ^= 1; x = tryCombination(a); } for(int i = 0; i < n; i++) s[i] = a[i]; for(int i = 0; i < n; i++) { if(d[i] != -1) continue; s[i] ^= 1; d[i] = tryCombination(s); s[i] ^= 1; } answer(s, d); } /* signed main() { std::ios::sync_with_stdio(0); std::cout.tie(0); std::cin.tie(0); int n, i, j; cin >> n; exploreCave(n); return 0; }*/

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:56:13: error: 'tryCombination' was not declared in this scope
   56 |     int x = tryCombination(a);
      |             ^~~~~~~~~~~~~~
cave.cpp:67:21: error: 'k' was not declared in this scope
   67 |             if(x != k)
      |                     ^
cave.cpp:84:5: error: 'answer' was not declared in this scope
   84 |     answer(s, d);
      |     ^~~~~~