HDU 1702 ACboy needs your help again!

题解:栈和队列的基本运用,熟练一下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 ;
}
posted @ 2014-04-16 15:02  forever97  阅读(173)  评论(0编辑  收藏  举报