有N(N<=1000)张扑克牌放成一堆,每次从上面取一张牌翻开,再从上面取一张牌放到这堆牌的下面。也就是从上面奇数次取到的牌翻开放成一排,偶数次取到的牌放在下面直到取完。 输入N张扑克牌的排满数字,输出翻开的情况。比如,N=4,牌面从上到下依次是1 2 3 4,那么翻开牌面的情况为1 3 2 4。
输入格式
第一行是一个整数N(N<=1000),第二行是N个整数,代表从上到下的牌面数。
输出格式
按照翻开牌面的顺序,输出翻开的结果,数字之间用一个空格隔开。
输入数据 1
4
1 2 3 4
输出数据 1
1 3 2 4
我的代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
queue<int> st;
queue<int> sta;
int a[1005];
for(int i=1;i<=n;i++){
cin>>a[i];
if(i%2){
st.push(a[i]);
}else{
sta.push(a[i]);
}
}
for(int i=1;i<=st.size();i++){
cout<<st.front()<<' ';
st.pop();
}for(int i=1;i<=sta.size();i++){
cout<<sta.front()<<' ';
sta.pop();
}
return 0;
}
各位看看哪错了,谢谢