제출 #1359310

#제출 시각아이디문제언어결과실행 시간메모리
1359310osmiyum동굴 (IOI13_cave)C++20
100 / 100
186 ms540 KiB
#include "cave.h"
#include<bits/stdc++.h>
using namespace std;
void exploreCave(int n){
    vector<int> siralama(n+1, -1);
    vector<int> durum(n+1, -1);
    for(int i = 0; i < n; i++){
        int s[n];
        for(int j = 0; j < n; j++){
            s[j] = 0;
        }
        for(int j = 0; j < i; j++){
            s[siralama[j]] = durum[j];
        }
        if(tryCombination(s) == i){
            durum[i] = 1;
        }
        else{
            durum[i] = 0;
        }
        int l = 0;
        int r = n - 1;
        int res = -1;
        while(l < r){
            int mid = (l + r)/2;
            int s2[n];
            for(int j = 0; j < n; j++){
                s2[j] = 1 - durum[i];
            }
            for(int j = l; j <= mid; j++){
                s2[j] = durum[i];
            }
            for(int j = 0; j < i; j++){
                s2[siralama[j]] = durum[j];
            }
            if(tryCombination(s2) == i){
                l = mid + 1;
            }
            else{
                r = mid;
            }
        }
        siralama[i] = l;
    }
    int d[n];
    int durumcev[n];
    for(int i = 0; i < n; i++){
        d[siralama[i]] = i;
    }
    for(int i = 0; i < n; i++){
        durumcev[i] = durum[d[i]];
    }
    answer(durumcev, d);
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…