제출 #1348285

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

void exploreCave(int N) {
    int ans[N],door[N],temp[N];
    memset(ans,-1,sizeof ans);
    int K = 31-__builtin_clz(N);
    for(int i =0;i<N;i++){
        int idx = 0;
        bool ch = 1;
        //open i door
        for(int j=0;j<N;j++){
            if(ans[j]!=-1)temp[j]=ans[j];
            else temp[j] = 0;
        }
        if(tryCombination(temp)==i)ch=1;
        else ch = 0;
        
        for(int p=0;p<K;p++){
            for(int j=0;j<N;j++){
                if(ans[j]==-1){
                    if(j&(1<<p))temp[j]=ch;
                    else temp[j] = !ch;
                }
                else temp[j] = ans[j];
                if(tryCombination(temp) !=i)idx|=(1<<p);
            }
        }
        ans[idx]=ch;
        door[idx]=i;
    }
    answer(ans,door);
}
#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...