#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; } |
English