题目描述
小科的成人礼上,邀请了n个人来参加。这n个人陆陆续续到来,现场有一张大长椅,每当有一个人来小科就会让他从长椅的左边或右边进去坐下。由于来的人太多,小科已经忙坏了,以至于当科丁博士问他:“现在长椅上坐着的人从左往右依次是谁?”时,他也无法立即回答出来。
现在请你编一个程序来帮他回答这个问题。
输入格式
第一行是一个整数n。1<=n<=20000。
接下来n行,每行有一个数字a和字符串Name,当a=0表示这个人是从左边进入长椅的,当a=1时表示这个人是从右边进入长椅的。Name是长度为1-5的字符串,表示第i个到来的人的名字。
输出格式
共n行,依次表示长椅上从左到右的人的名字。
输入输出样例
【耗时限制】1000ms 【内存限制】256MB
AC代码:
#include <iostream>
#include <algorithm>
#include <map>
#include <vector>
#include <queue>
using namespace std;
deque<string> kk;
int main() {
long long n, a;
string s;
cin >> n;
for (long long i = 1; i <= n; i++) {
cin >> a >> s;
if (a == 0) { //left
kk.push_front(s);
}
else { //right
kk.push_back(s);
}
}
long long len = kk.size();
for (long long i = 0; i < len; i++) {
cout << kk.front() << endl;
kk.pop_front();
}
return 0;
}