제출 #857533

#제출 시각아이디문제언어결과실행 시간메모리
857533chilinhxyzabc동굴 (IOI13_cave)C++17
0 / 100
74 ms528 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std; 

void exploreCave(int n) {
    int s[n], d[n];
    for(int i = 0; i < n; i++) {
        s[i] = 0;
        d[i] = -1;
    }
    if(n <= 100) {
        for(int i = 0; i < n; i++) {
            int curDoor = tryCombination(s);
            for(int j = n - 1; j >= i; j--) {
                s[j] = 1 - s[j];
                int door = tryCombination(s);
                if(door == curDoor) {
                    s[j] = 1 - s[j];
                    continue;
                } else {
                    d[j] = curDoor;
                    break;
                }
            }
        }
    } else {
        for(int i = 0; i < n; i++) {
            int curDoor = tryCombination(s);
            if(curDoor == -1)
                break;
            else {
                int l = i, r = n - 1, res;
                while(l <= r) {
                    int m = (l + r) / 2;
                    s[m] = 1 - s[m];
                    int door = tryCombination(s);
                    if(curDoor == door) {
                        r = m - 1;
                    } else {
                        l = m + 1;
                        res = m;
                    }
                    s[m] = 1 - s[m];
                }
                d[res] = curDoor;
                s[res] = 1 - s[res];
                i = res;
            }
        }
    }
    for(int i = 0; i < n; i++) {
        if(d[i] != -1)
            continue;
        s[i] = 1 - s[i];
        int door = tryCombination(s);
        d[i] = door;
        s[i] = 1 - s[i];
    }
    answer(s, d);
}

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:27:9: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
   27 |         for(int i = 0; i < n; i++) {
      |         ^~~
#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...