1462: 【基础】取扑克牌(1487)
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:28
解决:18
题目描述
有N(N<=1000)张扑克牌放成一堆,每次从上面取一张牌翻开,再从上面取一张牌放到这堆牌的下面。也就是从上面奇数次取到的牌翻开放成一排,偶数次取到的牌放在下面直到取完。
输入N张扑克牌的排满数字,输出翻开的情况。比如,N=4,牌面从上到下依次是1 2 3 4,那么翻开牌面的情况为1 3 2 4。
输入N张扑克牌的排满数字,输出翻开的情况。比如,N=4,牌面从上到下依次是1 2 3 4,那么翻开牌面的情况为1 3 2 4。
输入
第一行是一个整数N(N<=1000),第二行是N个整数,代表从上到下的牌面数。
输出
按照翻开牌面的顺序,输出翻开的结果,数字之间用一个空格隔开。
样例输入 复制
4
1 2 3 4
样例输出 复制
1 3 2 4
提示
#include<bits/stdc++.h> using namespace std; queue<int> q; int n,t; int main(){ cin>>n; while(n--) { cin>>t; q.push(t); } int i=1; while(!q.empty()) { t=q.front(); q.pop(); if (i%2) cout<<t<<" "; else q.push(t); i++; } return 0; }