#include <cstdio>
int arr[1<<21];
int main() {
int n,t;
scanf("%d%d", &n, &t);
int p2n = 1<<n;
for (int i=0; i<p2n; i++) {
scanf("%d", &arr[i]);
}
if (t%2 == 1) {
int i=0;
int j = p2n-1;
while (i < j) {
int c = arr[i];
arr[i] = arr[j];
arr[j] = c;
i++; j--;
}
}
for (int i=0; i < p2n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
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 <cstdio> int arr[1<<21]; int main() { int n,t; scanf("%d%d", &n, &t); int p2n = 1<<n; for (int i=0; i<p2n; i++) { scanf("%d", &arr[i]); } if (t%2 == 1) { int i=0; int j = p2n-1; while (i < j) { int c = arr[i]; arr[i] = arr[j]; arr[j] = c; i++; j--; } } for (int i=0; i < p2n; i++) { printf("%d ", arr[i]); } return 0; } |
English