#include <iostream> #include <cmath> using namespace std; const int NP_MAX = 1048576; long long n, t, np; long long data[NP_MAX]; int main() { ios_base::sync_with_stdio(false); cin >> n >> t; np = (long long) pow(2, n); for (long long i = 0; i < np; ++i) { cin >> data[i]; } if(t % 2 == 1) { for (long long i = np-1; i >= 0;--i) { cout << data[i] << " "; } } else { for (long long i = 0; i < np; ++i) { cout << data[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 29 | #include <iostream> #include <cmath> using namespace std; const int NP_MAX = 1048576; long long n, t, np; long long data[NP_MAX]; int main() { ios_base::sync_with_stdio(false); cin >> n >> t; np = (long long) pow(2, n); for (long long i = 0; i < np; ++i) { cin >> data[i]; } if(t % 2 == 1) { for (long long i = np-1; i >= 0;--i) { cout << data[i] << " "; } } else { for (long long i = 0; i < np; ++i) { cout << data[i] << " "; } } return 0; } |