题解:栈和队列的基本运用,熟练一下STL。
#include <iostream>
#include <stack>
#include <queue>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,m;
string str;
cin>>n>>str;
if(str=="FIFO"){
queue q;
while(n--){
cin>>str;
if(str=="IN")cin>>m,q.push(m);
else{
if(q.empty())puts("None");
else printf("%d\n",q.front()),q.pop();
}
}
if(!q.empty())q.pop();
}
else{
stack s;
while(n--){
cin>>str;
if(str=="IN")cin>>m,s.push(m);
else{
if(s.empty())puts("None");
else printf("%d\n",s.top()),s.pop();
}
}
if(!s.empty())s.pop();
}
}
return 0 ;
}