#include <cstdio>
int mem[1024 * 1024];
int main()
{
    int n, t;
    scanf("%d %d", &n, &t);
    const int count = 1 << n;
    
    for (int i = 0; i < count; i++) {
        scanf("%d", mem + i);
    }
    if (t & 1) {
        printf("%d", mem[count - 1]);
        for (int i = count - 1 - 1; i >= 0; i--) {
            printf(" %d", mem[i]);
        }
    }
    else {
        printf("%d", mem[0]);
        for (int i = 1; i < count; i++) {
            printf(" %d", mem[i]);
        }
    }
    putchar('\n');
}
        | 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 <cstdio> int mem[1024 * 1024]; int main() { int n, t; scanf("%d %d", &n, &t); const int count = 1 << n; for (int i = 0; i < count; i++) { scanf("%d", mem + i); } if (t & 1) { printf("%d", mem[count - 1]); for (int i = count - 1 - 1; i >= 0; i--) { printf(" %d", mem[i]); } } else { printf("%d", mem[0]); for (int i = 1; i < count; i++) { printf(" %d", mem[i]); } } putchar('\n'); } | 
 
            
         English
                    English