# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
774157 | 2023-07-05T12:26:53 Z | pashka | 자동 인형 (IOI18_doll) | C++14 | 1 ms | 296 KB |
#include "doll.h" #include<iostream> using namespace std; int reverse(int x, int k) { int y = 0; for (int i = 0;i < k; i++) { y = (y * 2) + (x % 2); x /= 2; } return y; } void create_circuit(int M, std::vector<int> A) { int n = A.size(); int k = 0; while ((1 << (k + 1)) < n + 1) { k++; } vector<int> x((1 << (k + 1)) - 1), y((1 << (k + 1)) - 1); for (int i = 0; i < (1 << k) - 1; i++) { x[i] = -((2 * i + 1) + 1); y[i] = -((2 * i + 2) + 1); } for (int i = 0; i < (1 << k); i++) { int t = reverse(2 * i, k + 1); if (t < n) { t = A[t]; } else { t = -1; } x[(1 << k) - 1 + i] = t; t = reverse(2 * i + 1, k + 1); if (t < n) { t = A[t]; } else if (i == (1 << k) - 1) { t = 0; } else { t = -1; } y[(1 << k) - 1 + i] = t; } vector<int> c(M + 1, -1); for (int i = 0; i < x.size(); i++) { cout << x[i] << " " << y[i] << "\n"; } answer(c, x, y); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 296 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 296 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |