제출 #1347884

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

void exploreCave(int N)
{
    int s[N], s2[N], d[N];
    int K = 31 - __builtin_clz(N);
    fill(s2,s2+N,-1);
    for (int i = 0; i < N; i++)
    {
        int id = 0;
        bool ch = 1;
        for(int j=0;j<N;j++){
            s[j] = (s2[j] == -1) ? !ch : s2[j];
        }
        if(tryCombination(s) != i) ch = !ch;
        for(int j =0;j<=K;j++){
            for(int k=0;k<N;k++){
                s[k] = (s2[k] == -1) ? ((k&1<<j)? ch : !ch): s2[K];
            }
            if(tryCombination(s) != i) id |= (1<<j); 
        }
        s2[id] = ch;
        d[id] = i;
    } 
    answer(s2,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...