Submission #1195011

#TimeUsernameProblemLanguageResultExecution timeMemory
1195011prideliqueee동굴 (IOI13_cave)C++20
0 / 100
345 ms548 KiB
#include<bits/stdc++.h>
#include "cave.h"
using namespace std;
void exploreCave(int N) {
    int sw[N];
    memset(sw,0,sizeof sw);
    int x[N];
    for(int i=0;i<N;i++)
    x[i]=0;
    int index[N];
    int l=0,r=N-1;
    for(int i=0;i<N;i++)
    {
        int p=tryCombination(sw);
        if(p!=i)
        {
            for(int i=l;i<=r;i++)
            sw[x[i]]=!sw[x[i]];
        }
        int cur[N];
        for(int i=0;i<N;i++)
        cur[i]=sw[i];
        int ll=l,rr=r;
        while(ll<rr)
        {
            int mid=(ll+rr)/2;
            for(int i=ll;i<=mid;i++)
            {
                cur[x[i]]=!cur[x[i]];
            }
            p=tryCombination(cur);
            for(int i=ll;i<=mid;i++)
            {
                cur[x[i]]=!cur[x[i]];
            }
            if(p!=i)
            rr=mid;
            else
            ll=mid+1;
        }
        index[x[ll]]=i;
        for(int i=ll;i<r;i++)
        x[i]=x[i+1];
        r++;
    }
    answer(sw,index);
}
#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...