제출 #397045

#제출 시각아이디문제언어결과실행 시간메모리
397045danielcm585동굴 (IOI13_cave)C++14
0 / 100
217 ms416 KiB
#include "cave.h"

#include <bits/stdc++.h>
using namespace std;

bool query(int S[], int P) {
    return tryCombination(S) == P;
}

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 (l <= i && i <= 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;
    }
    answer(res,d);
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…