// Piotr Golda
#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>
using namespace std;
unsigned int T, N;
int main()
{
scanf("%ud", &N);
scanf("%ud", &T);
unsigned int S = pow(2, N);
if (T % 2)
{
vector<unsigned int> V;
V.resize(S);
for (unsigned int i = 0; i < S; ++i)
{
scanf("%u", &V[i]);
}
for (int i = S-1; i >= 0; --i)
{
printf("%u ", V[i]);
}
}
else
{
int x;
for (int i = S-1; i >= 0; --i)
{
scanf("%u", &x);
printf("%u ", x);
}
}
printf("\n");
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 30 31 32 33 34 35 36 37 38 39 40 41 42 | // Piotr Golda #include <iostream> #include <cstdio> #include <vector> #include <cmath> using namespace std; unsigned int T, N; int main() { scanf("%ud", &N); scanf("%ud", &T); unsigned int S = pow(2, N); if (T % 2) { vector<unsigned int> V; V.resize(S); for (unsigned int i = 0; i < S; ++i) { scanf("%u", &V[i]); } for (int i = S-1; i >= 0; --i) { printf("%u ", V[i]); } } else { int x; for (int i = S-1; i >= 0; --i) { scanf("%u", &x); printf("%u ", x); } } printf("\n"); return 0; } |
English