#include <stdio.h>
long long int n,t;
long long int dwadon;
long long int tab[1<<21 + 4];
/* void printTasuj(int a, int b){ */
/* if(a==b) */
/* printf("%lld", tab[a]); */
/* else { */
/* int m = (a+b)/2; */
/* printTasuj(m+1, b); */
/* printTasuj(a, m); */
/* } */
/* } */
int main() {
scanf("%lld%lld", &n, &t);
dwadon = 1 << n;
int i;
for(i = 0; i < dwadon; ++i) {
scanf("%lld", &tab[i]);
}
if(t%2==0) {
for(i = 0; i<dwadon; ++i){
printf("%lld ", tab[i]);
}
} else {
for(i = dwadon -1; i>=0; --i){
printf("%lld ", tab[i]);
}
}
printf("\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 30 31 32 33 34 | #include <stdio.h> long long int n,t; long long int dwadon; long long int tab[1<<21 + 4]; /* void printTasuj(int a, int b){ */ /* if(a==b) */ /* printf("%lld", tab[a]); */ /* else { */ /* int m = (a+b)/2; */ /* printTasuj(m+1, b); */ /* printTasuj(a, m); */ /* } */ /* } */ int main() { scanf("%lld%lld", &n, &t); dwadon = 1 << n; int i; for(i = 0; i < dwadon; ++i) { scanf("%lld", &tab[i]); } if(t%2==0) { for(i = 0; i<dwadon; ++i){ printf("%lld ", tab[i]); } } else { for(i = dwadon -1; i>=0; --i){ printf("%lld ", tab[i]); } } printf("\n"); } |
English