제출 #1232015

#제출 시각아이디문제언어결과실행 시간메모리
1232015kaltspielerhy동굴 (IOI13_cave)C++20
12 / 100
141 ms528 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; void exploreCave(int N) { int result[N]; int seen[N]; fill(result, result+N, -1); fill(seen, seen+N, -1); for (int iDoor = 0; iDoor < N; iDoor++) { int list[N]; for (int iVal = 0; iVal < N; iVal++) { if (seen[iVal] == -1) list[iVal] = 0; else list[iVal] = seen[iVal]; } int zero = tryCombination(list); int num; if (zero > iDoor || zero == -1) { num = 0; for (int iVal = 0; iVal < N; iVal++) { if (seen[iVal] == -1) list[iVal] = 1; else list[iVal] = seen[iVal]; } } else { num = 1; } int deb = 0, fin = N-1; while (deb < fin) { int mid = (deb+fin)/2; for (int i = deb; i <= mid; i++) { if (seen[i] == -1) list[i] = num; } int result = tryCombination(list); if (result > iDoor || result == -1) { fin = mid; for (int i = deb; i <= mid; i++) { if (seen[i] == -1) list[i] = (num+1)%2; } } else { deb = mid+1; } } result[iDoor] = deb; seen[deb] = num; } answer(seen, result); }
#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...