제출 #701151

#제출 시각아이디문제언어결과실행 시간메모리
701151mychecksedad동굴 (IOI13_cave)C++17
컴파일 에러
0 ms0 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;

void exploreCave(int N) {
    int s[N], a[N], b[N];
    vector<bool> vis(N, 0);
    for(int i = 0; i < N; ++i){
        for(int j = 0; j < N; ++j) if(!vis[j]) s[j] = 0;
        int f = tryCombination(s);
        if(f > i){
            a[i] = 0;
        }else{
            a[i] = 1;
        }
        int l = 0, r = N - i - 1, b[i] = i;
        while(l <= r){
            int mid = l+r>>1;
            for(int i = 0, c = 0; i < N; ++i){
                if(!vis[i]){
                    if(c >= l && c < mid)
                        s[i] = !a[i];
                    else if(c >= mid && c <= r)
                        s[i] = a[i];
                    c++;
                }
            }
            int f = tryCombination(s);
            if(f > i){
                b[i] = mid;
                l = mid + 1;
            }else{
                r = mid - 1;
            }
        }
        s[b[i]] = a[i];
        vis[b[i]] = 1;
    }   
    answer(a, b);
}

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:16:42: error: array must be initialized with a brace-enclosed initializer
   16 |         int l = 0, r = N - i - 1, b[i] = i;
      |                                          ^
cave.cpp:18:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   18 |             int mid = l+r>>1;
      |                       ~^~