Submission #228783

#TimeUsernameProblemLanguageResultExecution timeMemory
228783jhtanCave (IOI13_cave)C++14
0 / 100
15 ms384 KiB
#include "cave.h"
#include <bits/stdc++.h>

using namespace std;

void exploreCave(int N) {
    int S[N];
    int D[N];

    // 12 points
    /*for(int i=0; i<N; i++) {
        S[i] = 0;
        D[i] = i;
    } 

    for(int i=0; i<N; i++) {
        int x = tryCombination(S);
        if(x == -1) break;
        if(x == i) S[i] = 1;
    }

    answer(S, D);*/


    // 13 points
    /*memset(S, 0, sizeof(S));

    for(int i=0; i<N; i++) {
        S[i] = 1;
        D[i] = tryCombination(S);
        S[i] = 0;
    }

    answer(S, D);*/


    int S2[N];
    memset(S, 0, sizeof(S));
    memset(S2, 0, sizeof(S2));

    for(int i=0; i<N; i++) {
        int it = tryCombination(S2);

        for(int j=0; j<N; j++) {
            S2[j] = 1;
            int nc = tryCombination(S2);
            if(nc < i) {
                S2[j] = 0;
                continue;
            }

            if((it == i && nc != i) || (it != i && nc == i)) {
                D[j] = i;
                if(nc == i) S[j] = 0;
                else S[j] = 1;

                S2[j] = S[j];
                break;
            } else {
                S2[j] = 0;
            }
        }
    }

    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...