제출 #206554

#제출 시각아이디문제언어결과실행 시간메모리
206554spdskatr동굴 (IOI13_cave)C++14
100 / 100
1185 ms588 KiB
#include "cave.h" #include <cstdio> int comb[5005], S[5005], D[5005]; void exploreCave(int N) { for (int i = 0; i < N; i++) D[i] = -1; for (int i = 0; i < N; i++) { // Finding switch for door i // Set all unset swtches to 1 for (int j = 0; j < N; j++) { if (D[j] >= 0) comb[j] = S[j]; else comb[j] = 1; } int d = tryCombination(comb); int state = d == -1 || d > i; int val = 0; for (int b = 0; b < 13; b++) { for (int j = 0; j < N; j++) { if (D[j] >= 0) comb[j] = S[j]; else if ((j >> b) & 1) comb[j] = state; else comb[j] = !state; } int res = tryCombination(comb); if (res == -1 || res > i) val |= (1 << b); } D[val] = i; S[val] = state; } 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...