# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
444415 | 2021-07-14T04:36:19 Z | blue | The Collection Game (BOI21_swaps) | C++17 | 1 ms | 200 KB |
#include "swaps.h" #include <vector> #include <iostream> using namespace std; int N; int V; vector<int> r; void do_comparisons(vector<int> A, vector<int> B) { for(int i = 0; i < A.size(); i++) { schedule(r[ A[i] ], r[ B[i] ]); } vector<int> C = visit(); for(int i = 0; i < A.size(); i++) { if(C[i] == 0) swap(r[ A[i] ], r[ B[i] ]); } } void solve(int n, int v) { N = n; V = v; r = vector<int>(N); for(int i = 1; i <= N; i++) r[i - 1] = i; // for(int v = 1; v <= min(V, N); v++) // { // vector<int> A, B; // if(v % 2 == 0) // { // for(int i = 0; i+1 < N; i += 2) // { // A.push_back(i); // B.push_back(i+1); // } // } // else // { // for(int i = 1; i+1 < N; i += 2) // { // A.push_back(i); // B.push_back(i+1); // } // } // // do_comparisons(A, B); // } for(int X = 2; X <= N; X *= 2) { // cerr << "X = " << X << '\n'; int p = 0, q = X-1; vector<int> A, B; while(p < N) { for(int i = 0; i < X/2; i++) { if(p + i < N && 0 <= q - i && q - i < N) { A.push_back(p + i); B.push_back(q - i); } } p += X; q += X; } do_comparisons(A, B); A.clear(); B.clear(); for(int Y = X/2; Y >= 2; Y /= 2) { for(int i = 0; i + Y/2 < N; i++) { if((i / (Y/2)) % 2 == 0) { A.push_back(i); B.push_back(i + Y/2); } } do_comparisons(A, B); A.clear(); B.clear(); } } answer(r); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 200 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |