제출 #223953

#제출 시각아이디문제언어결과실행 시간메모리
223953DS007동굴 (IOI13_cave)C++14
100 / 100
362 ms636 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; void exploreCave(int n) { int d_[n], s_[n]; memset(d_, -1, sizeof(d_)); memset(s_, -1, sizeof(s_)); for (int i = 0; i < n; i++) { int s[n] = {}; for (int j = 0; j < n; j++) { if (s_[j] != -1) s[j] = s_[j]; } int x = tryCombination(s); int l = 0, h = n - 1, ans = -1; while (l <= h) { int temp[n]; copy(s, s + n, temp); int mid = (l + h) / 2; for (int j = l; j <= mid; j++) temp[j] = d_[j] == -1 ? 1 : s[j]; int y = tryCombination(temp); if ((x == i && y != i) || (x != i && y == i)) ans = mid, h = mid - 1; else l = mid + 1; } d_[ans] = i; s_[ans] = x == i; } 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...