水题,栈和队列操作
#include <queue>
#include <cstdio>
#include <stack>
#include <memory.h>
#include <iostream>
using namespace std;
char buf[20];
queue<int>que;
stack<int>stk;
int main(){
int t ;
scanf("%d",&t);
while (t--){
int opn;
scanf("%d%s",&opn,buf);
if(strcmp(buf,"FIFO")==0){
while(que.size())que.pop();
while (opn--){
scanf("%s",buf);
if(strcmp(buf,"IN")==0){
int v;
scanf("%d",&v);
que.push(v);
}else{
if(que.size()==0)printf("None\n");
else{
printf("%d\n",que.front());
que.pop();
}
}
}
}else{
while(stk.size())stk.pop();
while (opn--){
scanf("%s",buf);
if(strcmp(buf,"IN")==0){
int v;
scanf("%d",&v);
stk.push(v);
}else{
if(stk.size()==0)printf("None\n");
else{
printf("%d\n",stk.top());
stk.pop();
}
}
}
}
}
return 0;
}