0
点赞
收藏
分享

微信扫一扫

HDU 1702 ACboy needs your help again!(栈+队列裸题)


​​传送门​​

题目大意

FIFO代表先进先出
FILO代表先进后出
问输出顺序

思路

构造一个栈,一个队列
栈是先进后出,队列先进先出

代码

stack<int>s;
queue<int> q;

int main(){
int t;
cin>>t;
while(t--){
int n;
scanf("%d",&n);
while(!s.empty()){
s.pop();
}
while(!q.empty()){
q.pop();
}
string x;
cin>>x;
if(x=="FIFO"){//q
for(int i=1;i<=n;i++){
string ss;
int tt;
cin>>ss;
if(ss=="IN"){
cin>>tt;
q.push(tt);
}
else{
if(!q.empty()){
tt=q.front();
q.pop();
cout<<tt<<endl;
}
else puts("None");
}
}

}
else{//s
for(int i=1;i<=n;i++){
string ss;
int tt;
cin>>ss;
if(ss=="IN"){
cin>>tt;
s.push(tt);
}
else{
if(!s.empty()){
tt=s.top();
s.pop();
cout<<tt<<endl;
}
else puts("None");
}
}
}
}
}


举报

相关推荐

0 条评论