제출 #1315208

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



void exploreCave(int N) {
    int S[N], D[N];
    int comb[N];

    vector<int> vec(N);
    iota(vec.begin(),vec.end(),0);

    for(int i = 0; i < N; i++){
        int open = 1;
        for(auto u : vec) comb[u] = 0;

        int res = tryCombination(comb);
        if(res != i) open = 0;

        int l = 0, r = (int) vec.size();
        while(l+1 < r){
            int mid = (l+r)>>1;

            for(int j = 0; j < (int) vec.size(); j++)
                if(j <= mid) comb[vec[j]] = open^1;
                else comb[vec[j]] = open;

            res = tryCombination(comb);
            if(res==i) l = mid;
            else r = mid;
        }

        D[i] = vec[l];
        S[D[i]] = open;
        comb[D[i]] = open;

        vec.erase(vec.begin()+l);
    }

    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...