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
#include <cstdio>
#include <algorithm>

using namespace std;

const int maxn = 2000005;

int t[maxn];

int n, tas;

int main()
{
    scanf("%d%d", &n, &tas);

    int n2 = (1 << n);


    for(int i = 0; i < n2; i++)
    {
        scanf("%d", &t[i]);
    }

    if( tas % 2 == 1 )
    {
        reverse( t, t + n2 );
    }

    for(int i = 0; i < n2; i++)
    {
        printf("%d ", t[i]);
    }
}