제출 #443714

#제출 시각아이디문제언어결과실행 시간메모리
443714lLab_Cave (IOI13_cave)C++14
100 / 100
361 ms456 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;

void exploreCave(int N) {
    int A[N],D[N];
    for(int i=0;i<N;++i){
        A[i] = 0;
        D[i] = -1;
    }

    int k = 0;
    int i=0;
    while(i<N){
        k = tryCombination(A);
        if(k == -1) k = N;
        bool cl = (k == i);
        int l=0, r=N-1;
        int ans = 0;
        while(l<=r){
            int p = k;
            int mid = (l+r)/2;
            int C[N];
            for(int j=0;j<N;++j) C[j] = A[j];
            for(int j=mid;j<=r;++j){
                if(D[j] != -1) continue;
                C[j] = (A[j]+1)%2;
            }
            k = tryCombination(C);
            if(k==-1) k = N;
            if(cl){
                if(k>i){
                    ans = mid;
                    l = mid+1;
                }else{
                    r = mid-1;
                }
            }else{
                if(k==i){
                    ans = mid;
                    l = mid+1;
                }else{
                    r = mid-1;
                }
            }
        }
        if(cl){
            A[ans] = (A[ans]+1)%2;
        }
        D[ans] = i;
        i++;
    }

    answer(A, D);
}

컴파일 시 표준 에러 (stderr) 메시지

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:21:17: warning: unused variable 'p' [-Wunused-variable]
   21 |             int p = k;
      |                 ^
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…