#include<bits/stdc++.h> using namespace std; int n,t,pom; stack<int> stak; queue<int> que; int main() { scanf("%d%d",&n,&t); for(int i=1;i<=pow(2,n);i++) { scanf("%d",&pom); if(t%2==0) que.push(pom); else stak.push(pom); } while(t%2==1&&stak.empty()!=1) { printf("%d ",stak.top()); stak.pop(); } while(t%2==0&&que.empty()!=1) { printf("%d ",que.front()); que.pop(); } }
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> using namespace std; int n,t,pom; stack<int> stak; queue<int> que; int main() { scanf("%d%d",&n,&t); for(int i=1;i<=pow(2,n);i++) { scanf("%d",&pom); if(t%2==0) que.push(pom); else stak.push(pom); } while(t%2==1&&stak.empty()!=1) { printf("%d ",stak.top()); stak.pop(); } while(t%2==0&&que.empty()!=1) { printf("%d ",que.front()); que.pop(); } } |