제출 #741895

#제출 시각아이디문제언어결과실행 시간메모리
741895thinknoexit동굴 (IOI13_cave)C++17
0 / 100
462 ms388 KiB
#include "cave.h"

void exploreCave(int n) {
    int a[n], b[n];
    int t[n];
    for (int i = 0;i < n;i++) {
        a[i] = -1;
        b[i] = -1;
    }
    for (int i = 0;i < n;i++) {
        for (int i = 0;i < n;i++) {
            if (a[i] != -1) t[i] = 0;
            else t[i] = a[i];
        }
        int aa = tryCombination(t), f;
        if (aa == -1 || aa > i) f = 0;
        else f = 1;
        int l = 0, r = n - 1;
        while (l < r) {
            int mid = (l + r) / 2;
            for (int i = 0;i < n;i++) {
                if (a[i] != -1) t[i] = a[i];
                else if (i >= l && i <= mid) t[i] = f;
                else t[i] = 1 - f;
            }
            int ans = tryCombination(t);
            if (ans == -1 || ans > i) r = mid;
            else l = mid + 1;
        }
        a[l] = f;
        b[i] = l;
    }
    answer(a, b);
}
#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...