Submission #550605

#TimeUsernameProblemLanguageResultExecution timeMemory
550605OlympiaCave (IOI13_cave)C++17
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <iomanip> #include <algorithm> #include <cassert> #include <map> #include <complex> #include <cmath> #include <set> #include "cave.h" using namespace std; /* int tryCombination(bool v[]) { vector<int> doors; for (int i = 0; i < n; i++) { if (v[i] == oracle[i]) { doors.push_back(door[i]); } } sort(doors.begin(), doors.end()); for (int i = 0; i < doors.size(); i++) { if (doors[i] != i) { return i; } } return doors.size(); } */ void exploreCave (int n) { vector<pair<int,bool>> vec; int c[n]; int arr[n]; for (int i = 0; i < n; i++) { bool a[n]; for (int j = 0; j < n; j++) { a[j] = true; } for (auto& p: vec) a[p.first] = p.second; bool b = (tryCombination(a) >= i + 1); int l = 0; int r = n - 1; while (l != r) { int m = (l + r)/2; for (int j = 0; j < n; j++) a[j] = !b; for (int j = 0; j <= m; j++) { a[j] = b; } for (auto& p: vec) a[p.first] = p.second; if (tryCombination(a) >= i + 1) { r = m; } else { l = m + 1; } } arr[l] = i; vec.emplace_back(l, b); } for (auto& p: vec) { c[p.first] = p.second; } answer(c, arr); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:38:34: error: cannot convert 'bool*' to 'int*'
   38 |         bool b = (tryCombination(a) >= i + 1);
      |                                  ^
      |                                  |
      |                                  bool*
In file included from cave.cpp:10:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~
cave.cpp:48:32: error: cannot convert 'bool*' to 'int*'
   48 |             if (tryCombination(a) >= i + 1) {
      |                                ^
      |                                |
      |                                bool*
In file included from cave.cpp:10:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~