Submission #285921

#TimeUsernameProblemLanguageResultExecution timeMemory
285921amallaCave (IOI13_cave)C++17
0 / 100
11 ms512 KiB
#include "cave.h"
#include<bits/stdc++.h>
using namespace std;
int S[10000], D[10000], n, first;
bool never = true, picked[10000];

void solve(int curr) {
    int ans;
    for (int i = 0; i<n; ++i) { // intenta la puerta S[i]
        if (picked[i]) continue;
        S[i] ^= 1;
        ans = tryCombination(S);
        if (ans!=first) {
            picked[i] = 1;
            if (ans>first) {
                first = ans;
                D[ans] = i;
                
                
            }
            else {
                D[first] = i;
                S[i] ^= 1;
                
            }
            continue;            
        }
        if (ans == curr) {
            D[curr] = i;
            picked[i] = 1;
            S[i] ^= 1;
            return;
        }
        S[i] ^= 1;
        ans = tryCombination(S);
        if (ans == curr) {
            D[curr] = i;
            picked[i] = 1;
            S[i] ^= 1;
            return;
        }
    }
}

void exploreCave(int N) {
    n = N;    
    for (int i = 0; i<10000; ++i) {
        S[i] = 0;
        D[i] = -1;
        picked[i] = 0;
    }
    first = tryCombination(S);
    for (int i = 0; i<N; ++i) { // para la puerta D[i]
        if (picked[i]) continue;
        solve(i);      
    }
    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...