Submission #317186

# Submission time Handle Problem Language Result Execution time Memory
317186 2020-10-29T05:06:42 Z seedkin Cave (IOI13_cave) C++
0 / 100
345 ms 632 KB
#include "cave.h"

int open[5005]; // index = switch number return = 1, 0 ( open value )
int target[5005]; // index = switch number return = door number

int S[5005]; // index == switch number return = 1, 0 ( open Value request)
int door[5005]; // index = door 번호 return 1, 0 (1 == open, 0 == close);

void exploreCave(int N) {
    for(int i =0; i < N; i++) {
        open[i] = -1;
        target[i] = -1;        
    }

    for(int i = 0; i < N; i++) { // door number
        for(int j = 0; j < N; j++) { // switch number
            if(open[j] != -1) {
                S[j] = open[j];
            }
            S[j] = 1;
        }
        int ans = tryCombination(S);
        if (ans > i || ans == -1) door[i] = 1;
        else door[i] = 0;

        int low = 0;
        int high = N;
        int mid = (low + high) / 2;

        while ( low != mid) {
            for (int j = 0;  j < mid; j++) {
                if(open[j] != -1) {
                    S[j] = open[j];
                }
                S[j] = door[i];
            }
            for (int j = mid; j < N; j++) {
                if(open[j] != -1) {
                    S[j] = open[j];
                }
                S[j] = 1-door[i];
            }
            ans = tryCombination(S);
            if(ans > i || ans == -1) {
                high = mid;
                mid = (low + high) / 2;

            } else { 
                low = mid;
                mid = (low + high) / 2;
            }
        }

        open[mid] = door[i];
        target[mid] = i;        
    }

    answer(open, target);
}
# Verdict Execution time Memory Grader output
1 Incorrect 118 ms 384 KB Answer is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 345 ms 416 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Incorrect 190 ms 632 KB Answer is wrong
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
3 Incorrect 0 ms 256 KB Answer is wrong
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
3 Incorrect 0 ms 256 KB Answer is wrong
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 118 ms 384 KB Answer is wrong
2 Halted 0 ms 0 KB -