#include <cstdio> int mem[1024 * 1024]; int main() { int n, t; scanf("%d %d", &n, &t); const int count = 1 << n; for (int i = 0; i < count; i++) { scanf("%d", mem + i); } if (t & 1) { printf("%d", mem[count - 1]); for (int i = count - 1 - 1; i >= 0; i--) { printf(" %d", mem[i]); } } else { printf("%d", mem[0]); for (int i = 1; i < count; i++) { printf(" %d", mem[i]); } } putchar('\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 27 28 29 | #include <cstdio> int mem[1024 * 1024]; int main() { int n, t; scanf("%d %d", &n, &t); const int count = 1 << n; for (int i = 0; i < count; i++) { scanf("%d", mem + i); } if (t & 1) { printf("%d", mem[count - 1]); for (int i = count - 1 - 1; i >= 0; i--) { printf(" %d", mem[i]); } } else { printf("%d", mem[0]); for (int i = 1; i < count; i++) { printf(" %d", mem[i]); } } putchar('\n'); } |