Submission #317158

# Submission time Handle Problem Language Result Execution time Memory
317158 2020-10-29T04:24:47 Z seedkin Cave (IOI13_cave) C++
0 / 100
204 ms 504 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 find[5005]; // index = switch 번호  return = 1, 0 ( 1 == find, 0 == not find)
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;
        find[i] = 0;
    }

    for(int i = 0; i < N; i++) { // door number
        for(int j = 0; j < N; j++) { // switch number
            if(find[j]) {
                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 = low ;  j < mid; j++) {
                if(find[j]) {
                    S[j] = open[j];
                }
                S[j] = door[i];
            }
            for(int j = mid; j < high ; j++) {
                if(find[j]) {
                    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;
            }
        }
        find[mid] = 1;
        target[mid] = i;
        open[mid] = door[i];
    }

    answer(open,target);
}
# Verdict Execution time Memory Grader output
1 Incorrect 27 ms 492 KB Answer is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 204 ms 504 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
3 Incorrect 41 ms 384 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 1 ms 384 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 1 ms 384 KB Answer is wrong
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 27 ms 492 KB Answer is wrong
2 Halted 0 ms 0 KB -