#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"); } |