제출 #945582

#제출 시각아이디문제언어결과실행 시간메모리
945582vjudge1Cave (IOI13_cave)C++17
100 / 100
152 ms600 KiB
#include "cave.h" #include<bits/stdc++.h> using namespace std; #define sz(s) (int)s.size() void exploreCave(int N) { int s[N], ans[N], c[N]; memset(s, 0, sizeof(s)); int x = tryCombination(s); if (x == -1) x = N; vector<int> p(N); for (int i = 0; i < N; i++) p[i] = i; for (int i = 0; i < N; i++) { x = tryCombination(s); bool is = 1; if (x == i) is = 0; int l = 0, r = sz(p) - 1; while (l <= r) { int m = (l + r) / 2; for (int j = 0; j < N; j++) c[j] = s[j]; for (int j = l; j <= m; j++) c[p[j]] = 1; x = tryCombination(c); if (x == -1) x = N; if ((x == i) == is) r = m - 1; else l = m + 1; } r++; ans[p[r]] = i; s[p[r]] = (!is); p.erase(p.begin() + r); } answer(s, ans); }
#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...