Submission #1245287

#TimeUsernameProblemLanguageResultExecution timeMemory
1245287MC123Cave (IOI13_cave)C++20
0 / 100
9 ms328 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
void exploreCave(int n){
    int tr[n];
    int pos[n];
    int s[n];
    int d[n];
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(pos[i]!=0){
                tr[i]=pos[i]-1;
                continue;
            }
            tr[i]=0;
        }
        int wh=tryCombination(tr);
        bool da;
        int last=0;
        if(wh==i)da=1;
        else da=0;
        int l=-1,r=n,mid,answr;
        while(l+1<r){
            mid=(l+r)/2;
            if(last<mid){
                for(int j=last+1;j<=mid;j++){
                    if(pos[i]==0)tr[j]=1;
                }
            }else{
                for(int j=mid+1;j<=last;j++){
                    if(pos[i]==0)tr[j]=0;
                }
            }
            last=mid;
            int wh=tryCombination(tr);
            if(da==0){
                if(wh==i)r=mid;
                else {
                    l=mid;
                    answr=mid;
                }
            }else{
                if(wh==i)l=mid;
                else {
                    r=mid;
                    answr=mid;
                }
            }
        }

        d[i]=answr;
        pos[answr]=da;
        s[answr]=da;

    }
    answer(s,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...