제출 #397410

#제출 시각아이디문제언어결과실행 시간메모리
397410danielcm585동굴 (IOI13_cave)C++11
0 / 100
377 ms416 KiB
#include "cave.h"
 
#include <bits/stdc++.h>
using namespace std;
 
void exploreCave(int N) {
    int res[N], s[N], d[N];
    memset(res,-1,sizeof(res));
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            s[j] = (res[j] != -1 ? res[j] : 0);
        }
        int cur = (tryCombination(s) == i);
        int p = -1;
        // for (int l = 0, r = N-1; l <= r; ) {
        //     int mid = (l+r)/2;
        //     for (int j = 0; j < N; j++) {
        //         if (res[j] != -1) s[j] = res[j];
        //         if (j <= mid) s[j] = cur;
        //         else s[j] = cur^1;
        //     }
        //     if (tryCombination(s) != i) {
        //         p = mid;
        //         r = mid-1;
        //     }
        //     else l = mid+1;
        // }
        // res[p] = cur;
        // d[p] = i;
        int l, r;
        for (l = 0, r = N-1; l < r; ) {
            int mid = (l+r)/2;
            for (int j = 0; j < N; j++) {
                if (res[j] != -1) s[j] = res[j];
                if (l <= j && j <= mid) s[j] = cur;
                else s[j] = cur^1;
            }
            if (tryCombination(s) != i) r = mid;
            else l = mid+1;
        }
        res[l] = cur;
        d[l] = i;
    }
    answer(res,d);
}

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:14:13: warning: unused variable 'p' [-Wunused-variable]
   14 |         int p = -1;
      |             ^
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…