제출 #729515

#제출 시각아이디문제언어결과실행 시간메모리
729515NeroZein동굴 (IOI13_cave)C++17
51 / 100
359 ms464 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; const int N = 5005; bool vis[N]; void exploreCave(int N_) { int n; n = N_; int a[n]; for (int i = 0; i < n; ++i) { a[i] = 0; } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { if (!vis[j]) { a[j] = 0; } } int x = tryCombination(a); int z = 1; if (x > i || x == -1) { z = 0; } int l = 0, r = n - 1; while (l < r) { int mid = (l + r) >> 1; for (int j = 0; j <= mid; ++j) { if (!vis[j]) { a[j] = z; } } for (int j = mid + 1; j < n; ++j) { if (!vis[j]) { a[j] = z ^ 1; } } x = tryCombination(a); if (x > i || x == -1) { r = mid; } else { l = mid + 1; } } a[l] = z; vis[l] = true; } int d[n]; for (int i = 0; i < n; ++i) { d[i] = 0; } for (int i = 0; i < n; ++i) { a[i] ^= 1; int x = tryCombination(a); d[i] = x; a[i] ^= 1; } answer(a, 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...