Submission #995225

#TimeUsernameProblemLanguageResultExecution timeMemory
995225coolboy19521Cave (IOI13_cave)C++17
25 / 100
35 ms564 KiB
#include <bits/stdc++.h>
#include "cave.h"

using namespace std;

void exploreCave(int N) {
    int s[N], d[N];

    for (int i = 0; i < N; i ++) {
        s[i] = 0;
    }

    for (int i = 0; i < N; i += 4) {
        int d = min(N - i, 4);

        for (int j = 0; j < (1 << d); j ++) {
            for (int k = 0; k < d; k ++) {
                if (j & (1 << k)) {
                    s[i + k] = 1;
                }
            }

            int r = tryCombination(s);

            if (r >= i + d || -1 == r) {
                break;
            }

            for (int k = 0; k < d; k ++) {
                if (j & (1 << k)) {
                    s[i + k] = 0;
                }
            }
        }
    }

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