제출 #380630

#제출 시각아이디문제언어결과실행 시간메모리
380630vishesh312동굴 (IOI13_cave)C++17
0 / 100
480 ms620 KiB
#include "cave.h" #include "bits/stdc++.h" using namespace std; /* #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; using ordered_set = tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>; */ #define all(x) begin(x), end(x) #define sz(x) (int)x.size() using ll = long long; const int mod = 1e9+7; void exploreCave(int n) { int s[n], d[n]; vector<bool> avl(n, true); for (int i = 0; i < n; ++i) { s[i] = 0; d[i] = -1; } for (int i = 0; i < n; ++i) { int x = tryCombination(s); // cout << "i : " << i << '\n'; // cout << "x : " << x << '\n'; bool zero = (x > i or x == -1); int str = 0; for (int jump = (n+1)/2; jump >= 1; jump++, jump /= 2) { // cout << "str, jump : " << str << " " << jump << '\n'; int temp[n]; for (int j = 0; j < n; ++j) temp[j] = (avl[j]?zero:s[j]); for (int j = str; j < str+jump; ++j) { // cout << "j avl[j] : " << j << " " << avl[j] << '\n'; if (avl[j]) { temp[j] = !zero; } } // for (int j = 0; j < n; ++j) cout << temp[j] << " "; cout << '\n'; x = tryCombination(temp); // cout << "x : " << x << '\n'; if (x > i or x == -1) { if (jump == 1) { // cout << "str : " << str << '\n'; d[str] = i; s[str] = !zero; avl[str] = false; break; } else { continue; } } else { str += jump; if (str >= n+5) exit(0); } } // cout << "s : "; for (int j = 0; j < n; ++j) cout << s[j] << " "; cout << '\n'; } 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...