제출 #413875

#제출 시각아이디문제언어결과실행 시간메모리
413875LouayFarah동굴 (IOI13_cave)C++14
13 / 100
2085 ms460 KiB
#include "bits/stdc++.h" #include "cave.h" using namespace std; int tryCombination(int S[]); void answer(int S[], int D[]); vector<bool> visited; void exploreCave(int N) { int S[N]; int D[N]; visited.assign(N, false); for(int i = 0; i<N; i++) { S[i] = 0; D[i] = i; } int res = tryCombination(S); for(int door = 0; door<N; door++) { if(res==-1) { for(int i = 0; i<N; i++) { S[i] = 1 - S[i]; int d = tryCombination(S); S[i] = 1 - S[i]; D[i] = d; } answer(S, D); } if(res==door) { for(int i = 0; i<N; i++) { if(!visited[i]) { S[i] = 1 - S[i]; int curr = tryCombination(S); S[i] = 1 - S[i]; if(curr!=door) { D[i] = door; S[i] = 1 - S[i]; visited[i] = true; res = curr; break; } } } } else { for(int i = 0; i<N; i++) { if(!visited[i]) { S[i] = 1 - S[i]; int curr = tryCombination(S); S[i] = 1 - S[i]; if(curr<=res) { D[i] = curr; visited[i] = true; } /*if(curr==door) { D[i] = door; visited[i] = true; break; }*/ } } door = res-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...