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 ;

}

你可能感兴趣的:(help)