#include<bits/stdc++.h> #define FOR(i,a,b) for(int i = a; i <= b; i++) #define FORW(i,a,b) for(int i = a; i < b; i++) #define FORD(i,a,b) for(int i = a; i >= b; i--) #define MP make_pair #define PB push_back #define ALL(x) (x).begin(), (x).end() using namespace std; int main() { int n,t; scanf("%d%d",&n,&t); n = 1<<n; vector<int> V; FOR(i,1,n) { int a; scanf("%d",&a); V.PB(a); } if(t%2) reverse(ALL(V)); for(int v : V) printf("%d ", v); 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 | #include<bits/stdc++.h> #define FOR(i,a,b) for(int i = a; i <= b; i++) #define FORW(i,a,b) for(int i = a; i < b; i++) #define FORD(i,a,b) for(int i = a; i >= b; i--) #define MP make_pair #define PB push_back #define ALL(x) (x).begin(), (x).end() using namespace std; int main() { int n,t; scanf("%d%d",&n,&t); n = 1<<n; vector<int> V; FOR(i,1,n) { int a; scanf("%d",&a); V.PB(a); } if(t%2) reverse(ALL(V)); for(int v : V) printf("%d ", v); printf("\n"); } |