#include<bits/stdc++.h>
int tab[1048576];
int pot(int a);
int main() {
int n, t;
scanf("%d %d", &n, &t);
bool czyOdwrocone = (t % 2 == 1);
int pot2 = pot(n);
for(int i = 0; i < pot2; i++) {
scanf("%d", &tab[i]);
if(!czyOdwrocone) {
printf("%d ", tab[i]);
}
}
if(!czyOdwrocone) {
return 0;
}
for(int i = pot2 - 1; i >= 0; i--) {
printf("%d ", tab[i]);
}
return 0;
}
int pot(int a) {
int akt = 1;
for(int i = 0; i < a; i++) {
akt *= 2;
}
return akt;
}
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 43 | #include<bits/stdc++.h> int tab[1048576]; int pot(int a); int main() { int n, t; scanf("%d %d", &n, &t); bool czyOdwrocone = (t % 2 == 1); int pot2 = pot(n); for(int i = 0; i < pot2; i++) { scanf("%d", &tab[i]); if(!czyOdwrocone) { printf("%d ", tab[i]); } } if(!czyOdwrocone) { return 0; } for(int i = pot2 - 1; i >= 0; i--) { printf("%d ", tab[i]); } return 0; } int pot(int a) { int akt = 1; for(int i = 0; i < a; i++) { akt *= 2; } return akt; } |
English