#include <iostream> using namespace std; #define MAXD 1100000 int t[MAXD]; int main() { ios_base :: sync_with_stdio(0); int n, k, d; scanf("%d %d", &n, &k); d = 1; for (int i = 0; i < n; i++) d *= 2; for (int i = 0; i < d; i++) { scanf("%d", &t[i]); } if (k % 2 == 0) { for (int i = 0; i < d; i++) printf("%d ", t[i]); } else { for (int i = 0; i < d; i++) printf("%d ", t[d - 1 - 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 28 | #include <iostream> using namespace std; #define MAXD 1100000 int t[MAXD]; int main() { ios_base :: sync_with_stdio(0); int n, k, d; scanf("%d %d", &n, &k); d = 1; for (int i = 0; i < n; i++) d *= 2; for (int i = 0; i < d; i++) { scanf("%d", &t[i]); } if (k % 2 == 0) { for (int i = 0; i < d; i++) printf("%d ", t[i]); } else { for (int i = 0; i < d; i++) printf("%d ", t[d - 1 - i]); } return 0; } |