#include <cstdio> using namespace std; #define MAX 2000000 int buf[MAX]; int main() { int x=0,i,n,t,N = 1; scanf("%d %d", &n,&t); N<<=n; for(i=0;i<N;i++) { scanf("%d", &buf[i]); } if(t&1) x=N-1; for(i=0;i<N;i++) { printf("%d ", buf[i^x]); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <cstdio> using namespace std; #define MAX 2000000 int buf[MAX]; int main() { int x=0,i,n,t,N = 1; scanf("%d %d", &n,&t); N<<=n; for(i=0;i<N;i++) { scanf("%d", &buf[i]); } if(t&1) x=N-1; for(i=0;i<N;i++) { printf("%d ", buf[i^x]); } return 0; } |