# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
400462 | 2021-05-08T05:40:07 Z | galca | MalnaRISC (COI21_malnarisc) | C++14 | 2 ms | 332 KB |
#include <iostream> #include <vector> using namespace std; int main() { int N; cin >> N; int n = N; while (n & (n - 1)) { n++; } vector<int> regs(n); for (int i=0; i<n; i++) { regs[i] = i+1; } vector<int> stage; vector<int> r1; vector<int> r2; int curr_stage = 0; for (int k = 2; k <= n; k *= 2) { for (int j = k / 2; j > 0; j /= 2) { cout << endl; for (int i = 0; i < n; i++) { int ip = i ^ j; if (ip > i) { int reg1 = regs[i]; int reg2 = regs[ip]; if ((reg1 <= N) && (reg2 <= N)) { stage.push_back(curr_stage); r1.push_back(reg1); r2.push_back(reg2); //cout << "CMPSWP R" << reg1 << " R" << reg2 << endl; } } } ++curr_stage; } int odd = 0; for (int i = 0; i < n; i += k) { if (odd) { for (int j = 0; j < k / 2; j++) { int tmp = regs[i + j]; regs[i + j] = regs[i + k - j - 1]; regs[i + k - j - 1] = tmp; } } odd ^= 1; } } cout << curr_stage << endl; curr_stage = 0; for (int i = 0; i < r1.size(); i++) { if (stage[i] != curr_stage) { cout << endl; } curr_stage = stage[i]; cout << "CMPSWP R" << r1[i] << " R" << r2[i] << " "; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 332 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 332 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 332 KB | not sorted |