#include<iostream>
using namespace std;
int tab[1100000];
int pot(int x, int n){
if(n==0){
return 1;
}
else{
if(n%2==0){
return pot(x,n/2)*pot(x,n/2);
}
if(n%2==1){
return x*pot(x,n-1);
}
}
}
int main(){
ios_base::sync_with_stdio(0);
int n, t;
cin>>n>>t;
int m=pot(2,n);
for(int i=1;i<=m;i++){
cin>>tab[i];
}
if(t%2==1){
for(int i=m;i>0;i--){
cout<<tab[i]<<" ";
}
}
else{
for(int i=1;i<=m;i++){
cout<<tab[i]<<" ";
}
}
//cin>>m;
return 0;
}
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 44 45 46 47 48 49 | #include<iostream> using namespace std; int tab[1100000]; int pot(int x, int n){ if(n==0){ return 1; } else{ if(n%2==0){ return pot(x,n/2)*pot(x,n/2); } if(n%2==1){ return x*pot(x,n-1); } } } int main(){ ios_base::sync_with_stdio(0); int n, t; cin>>n>>t; int m=pot(2,n); for(int i=1;i<=m;i++){ cin>>tab[i]; } if(t%2==1){ for(int i=m;i>0;i--){ cout<<tab[i]<<" "; } } else{ for(int i=1;i<=m;i++){ cout<<tab[i]<<" "; } } //cin>>m; return 0; } |
English