제출 #648879

#제출 시각아이디문제언어결과실행 시간메모리
648879JANCARAPAN동굴 (IOI13_cave)C++17
0 / 100
220 ms384 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; // int tryCombination(int a[4]) { // int ans = 0; // if (a[2] == 1) { // ans++; // if (a[1] == 1) { // ans++; // if (a[3] == 0) { // ans++; // if (a[0] == 1) { // ans++; // } // } // } // } // return ans; // } void exploreCave(int n) { int pos[n], con[n], used[n]; for (int i=0; i<n; i++) { // per a cada porta faig bs dels interruptors int l = 0, r = n - 1; int res = n - 1; bool on = (tryCombination(pos) == i); while (l <= r) { int m = l + (r - l) / 2; bool can = 0; for (int j=l; j<=m; j++) { if (used[j]) continue; pos[j] = 1; } // for (auto x : pos) cerr << x << " "; // cerr << endl; if (tryCombination(pos) >= i + 1 && on) { can = 1; } for (int j=l; j<=m; j++) { if (used[j]) continue; pos[j] = 0; } if (can) { r = m - 1; res = m; } else { l = m + 1; } //cerr << m << " " << l << " " << r << endl; } //cerr << "res: " << res << endl; used[res] = 1; pos[res] = on; con[res] = i; } answer(pos, con); // for (auto x : pos) cout << x << " "; // cout << endl << endl; // for (auto x : con) cout << x <<" "; // cout << endl; } // int main() { // exploreCave(4); // }
#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...