제출 #272555

#제출 시각아이디문제언어결과실행 시간메모리
272555toonewbieCave (IOI13_cave)C++17
100 / 100
408 ms632 KiB
#include "cave.h"
#include <bits/stdc++.h>

using namespace std;

const int maxx = 5005;

int comb[maxx], id[maxx];
int used[maxx];

void change(int l, int r) {
    for (int i = l; i <= r; i++) {
        if (used[i] == 0) {
            comb[i] ^= 1;
        }
    }
}

void exploreCave(int N) {
    for (int i = 0; i < N; i++) {
        int l = 0, r = N - 1, best;
        int flag = tryCombination(comb) == i;
        while (r - l >= 0) {
            int mid = (l + r) >> 1;
            change(l, mid);
            if ((tryCombination(comb) == i) == flag) {
                change(l, mid);
                l = mid + 1;
            } else {
                change(l, mid);
                r = mid - 1, best = mid;
            }
        }
        used[best] = 1;
        id[best] = i;
        comb[best] = flag;
    }
    answer(comb, id);
}

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:36:20: warning: 'best' may be used uninitialized in this function [-Wmaybe-uninitialized]
   36 |         comb[best] = flag;
      |         ~~~~~~~~~~~^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...