# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
399571 | 2021-05-06T06:25:31 Z | galca | MalnaRISC (COI21_malnarisc) | C++14 | 1 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 + N - 1); 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) { int reg1, reg2; if ((i ^ k) < i) { reg1 = regs[i]; reg2 = regs[ip]; } else { reg1 = regs[ip]; reg2 = regs[i]; } if (reg1 > N) { int tmp = regs[i]; regs[i] = regs[ip]; regs[ip] = tmp; } else { if (reg2 <= N) { stage.push_back(curr_stage); r1.push_back(reg2); r2.push_back(reg1); //cout << "CMPSWP R" << reg2 << " R" << reg1 << endl; } } } } ++curr_stage; } } 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 | Correct | 1 ms | 208 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | not sorted |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 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 | 1 ms | 332 KB | not sorted |