#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1 << 20;
int n, t;
int arr[MAX_N + 5];
int main() {
scanf("%d %d", &n, &t);
n = (1 << n);
for (int i = 1; i <= n; i++) {
scanf("%d", &arr[i]);
}
if (t % 2 == 1) {
reverse(arr + 1, arr + 1 + n);
}
for (int i = 1; i <= n; 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 27 | #include <bits/stdc++.h> using namespace std; const int MAX_N = 1 << 20; int n, t; int arr[MAX_N + 5]; int main() { scanf("%d %d", &n, &t); n = (1 << n); for (int i = 1; i <= n; i++) { scanf("%d", &arr[i]); } if (t % 2 == 1) { reverse(arr + 1, arr + 1 + n); } for (int i = 1; i <= n; i++) { printf("%d ", arr[i]); } return 0; } |
English