1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdio>
using namespace std;

int A[1000006];

int main() {
    int n,t;
    scanf("%d%d",&n,&t);
    n = (1<<n);
    if (!(t&1)) {
        for ( int i=0; i<n; i++ ) {
            int a;
            scanf("%d",&a);
            printf("%d ",a);
        }
        printf("\n");
        return 0;
    }
    for ( int i=0; i<n; i++ ) scanf("%d",A+i);
    int _n=n-1;
    for ( int i=0; i<n; i++ ) printf("%d ",A[(~i)&_n]);
    printf("\n");
    return 0;
}