#include <algorithm>
#include <cstdio>
using namespace std;
int A[(1 << 20) + 1];
int main() {
int n, t;
scanf("%d %d", &n, &t);
// printf("%d\n", (1 << 20));
for (int i = 0; i < (1 << n); i++) {
scanf("%d", A + i);
}
if (t % 2 == 1) {
for (int i = 0; i < (1 << (n - 1)); i++) {
swap(A[(1 << n) - i - 1], A[i]);
}
}
for (int i = 0; i < (1 << n); i++) {
printf("%d ", A[i]);
}
// printf("\n");
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <algorithm> #include <cstdio> using namespace std; int A[(1 << 20) + 1]; int main() { int n, t; scanf("%d %d", &n, &t); // printf("%d\n", (1 << 20)); for (int i = 0; i < (1 << n); i++) { scanf("%d", A + i); } if (t % 2 == 1) { for (int i = 0; i < (1 << (n - 1)); i++) { swap(A[(1 << n) - i - 1], A[i]); } } for (int i = 0; i < (1 << n); i++) { printf("%d ", A[i]); } // printf("\n"); } |
English