# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
399020 | 2021-05-05T04:36:17 Z | galca | The Collection Game (BOI21_swaps) | C++17 | 0 ms | 0 KB |
#include "swaps.h" #include <vector> using namespace std; void solve(int 𝑁, int 𝑉 ) { vector<int> res(N); for (int i=0; i<N; i++) { res[i] = i; } for (int k = 2; k <= N; k *= 2) { for (int j = k/2; j > 0; j /= 2) { for (int i = 0; i < N; i++) { int ip = i ^ j; if (ip > i) { if (i ^ k == 0) schedule(ip, i); else schedule(i, ip); } } vector<int> v = visit(); for (int i = 0; i < N/2; i++) { int ip = i ^ j; if (ip > i) { if (v[i]) { int tmp = res[i]; res[i] = res[ip]; res[ip] = tmp; } } } } } answer(res); }