Submission #984301

#TimeUsernameProblemLanguageResultExecution timeMemory
984301stdfloatCave (IOI13_cave)C++17
34 / 100
10 ms604 KiB
#include <bits/stdc++.h>
#include "cave.h"
//#include "grader.c"
using namespace std;

void exploreCave(int N) {
    int a[N], b[N];
    for (int i = 0; i < N; i++)
        a[i] = b[i] = 0;

    if (N <= (int)1e2) {
        while (true) {
            int x = tryCombination(a);

            if (x == -1) break;

            bool tr = false;
            for (int i = 0; i < N; i++) {
                if (a[i]) continue;

                a[i] = 1;

                int y = tryCombination(a);
                if (y == -1 || x < y) {
                    b[i] = x;
                    tr = true;
                    break;
                }

                a[i] = 0;
            }

            assert(tr);
        }

        for (int i = 0; i < N; i++) {
            if (!a[i]) {
                a[i] = 1;

                b[i] = tryCombination(a);
                
                a[i] = 0;
            }
        }
    }
    else {
        for (int i = 0; i < N; i++) {
            a[i] = 1;
            
            b[i] = tryCombination(a);
            
            a[i] = 0;
        }
    }

    /*sub1:
    for (int i = 0; i < N; i++)
        if (tryCombination(a) == i) a[i] = 1;

    iota(b, b + N, 0);

    */

    answer(a, b);
}
#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...