Submission #1142906

#TimeUsernameProblemLanguageResultExecution timeMemory
1142906turskaCave (IOI13_cave)C++20
46 / 100
16 ms752 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
const int maxN = 5000;
int S[maxN];
int D[maxN];
void exploreCave(int N) {
    int prv = tryCombination(S);
    set<int> st;
    for (int i=0; i<N; i++) st.insert(i);
    while (prv!=-1) {
        for (auto i: st) {
            S[i] = 1;
            int cur = tryCombination(S);
            if (cur==prv) {
                S[i] = 0;
                continue;
            };
            st.erase(i);
            if (cur!=-1 && cur<prv) {
                S[i] = 0;
            }             
            if (cur==-1) prv = -1;
            else prv = max(prv, cur);
            break;
        }
    }
    for (int i=0; i<N; i++) {
        S[i] ^= 1;
        D[i] = tryCombination(S);
        S[i] ^= 1;
    }
    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...