Submission #1232127

#TimeUsernameProblemLanguageResultExecution timeMemory
1232127clemmy14동굴 (IOI13_cave)C++20
46 / 100
10 ms516 KiB
#include<bits/stdc++.h>
#include "cave.h"
using namespace std;

void exploreCave(int N) {
    int comb[N], con[N];
    for(int i=0; i<N; i++) {
        comb[i]=0;
    }

    vector<bool> defo(N, false);

    bool found=false;
    int cur=tryCombination(comb);
    for(int i=0; i<N; i++) {
        if(cur == -1) found=true;
        if(found) break;
        
        for(int j=0; j<N; j++) if(!defo[j]) {
            comb[j]=1-comb[j];
            int now = tryCombination(comb);

            // for(auto x : comb) cout << x << ' ';
            // cout << endl;
            // cout << cur << ' ' << now << endl;
            if(cur == now) comb[j]=1-comb[j];
            else if(cur < now) {
                defo[j]=true;
                con[j]=cur; 
                cur=now;
            }else if(now == -1) {
                found=true; break;
            } else {
                defo[j]=true;
                con[j]=now;
                comb[j]=1-comb[j];
            }
        }
        if(found) break;
    }

    for(int i=0; i<N; i++) if(!defo[i]) {
        comb[i]=1-comb[i];
        int firstC=tryCombination(comb);
        con[i]=firstC;
        comb[i]=1-comb[i];
    }
    answer(comb, con);
}
#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...