제출 #1165579

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

void exploreCave(int N) {
    int S[N], D[N], V[N];
    vector<int> dts(N, -1);
    for (int i=0; i<N; i++){
        for (int j=0; j<N; j++) V[j] = 0;
        for (int j=0; j<i; j++) V[dts[j]] = S[dts[j]];
        int s;
        if (tryCombination(V) == i) s = 1;
        else s = 0;
        int l = 0, r = N;
        while (l != r-1){
            int m = (l+r)/2;
            for (int j=0; j<N; j++) V[j] = s;
            for (int j=l; j<m; j++) V[j] = 1-s;
            for (int j=0; j<i; j++) V[dts[j]] = S[dts[j]];
            if (tryCombination(V) == i) r = m;
            else l = m;
        }
        dts[i] = l;
        S[l] = s;
        D[l] = i;
    }
    answer(S, D);
}
#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...