Submission #488397

#TimeUsernameProblemLanguageResultExecution timeMemory
488397SlavicG동굴 (IOI13_cave)C++17
Compilation error
0 ms0 KiB

#include "bits/stdc++.h"
#include"cave.h"
using namespace std;
 
#define ll long long
 
#define       forn(i,n)              for(int i=0;i<n;i++)
#define          all(v)              v.begin(), v.end()
#define         rall(v)              v.rbegin(),v.rend()
 
#define            pb                push_back
#define          sz(a)               (int)a.size()

/*
int tryCombination(vector<int> s){return 0;}
void answer(vector<int> s, vector<int> k){return;}
*/
void exploreCave(int n){
    vector<int> v;
    vector<int> k;
    vector<int> a(n, -1);
    while(sz(v) < n){
        int cur = sz(v);
        vector<int> c = a;
        for(int i = 0;i < n; ++i){
            if(c[i] == -1)c[i] = 1;
        }
        int f = tryCombination(c);
        int x = (f > sz(v) || f == -1);

        int l = 0, r = n - 1, idx = -1;
        while(l <= r){
            int mid = l + r >> 1;
            c = a;
            for(int i = 0;i < mid; ++i){
                if(c[i] == -1)c[i] = x;
            }
            for(int i = mid;i < n; ++i){
                if(c[i] == -1)c[i] = (!x);
            }

            f = tryCombination(c);

            if(f > sz(v) || f == -1){
                idx = mid;
                r = mid - 1;
            }else l = mid + 1;
        }
        v.pb(idx);
        k.pb(x);
    }

    answer(v, k);
}
/*
void solve()
{ 


}   
 
int32_t main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
}
*/

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:29:32: error: cannot convert 'std::vector<int>' to 'int*'
   29 |         int f = tryCombination(c);
      |                                ^
      |                                |
      |                                std::vector<int>
In file included from cave.cpp:3:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~
cave.cpp:34:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   34 |             int mid = l + r >> 1;
      |                       ~~^~~
cave.cpp:43:32: error: cannot convert 'std::vector<int>' to 'int*'
   43 |             f = tryCombination(c);
      |                                ^
      |                                |
      |                                std::vector<int>
In file included from cave.cpp:3:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~
cave.cpp:24:13: warning: unused variable 'cur' [-Wunused-variable]
   24 |         int cur = sz(v);
      |             ^~~
cave.cpp:54:12: error: cannot convert 'std::vector<int>' to 'int*'
   54 |     answer(v, k);
      |            ^
      |            |
      |            std::vector<int>
In file included from cave.cpp:3:
cave.h:9:17: note:   initializing argument 1 of 'void answer(int*, int*)'
    9 | void answer(int S[], int D[]);
      |             ~~~~^~~