• hdu1702 ACboy needs your help again!(栈处理)


    ACboy needs your help again!

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 11427    Accepted Submission(s): 5750


    Problem Description
    ACboy was kidnapped!! 
    he miss his mother very much and is very scare now.You can't image how dark the room he was put into is, so poor :(.
    As a smart ACMer, you want to get ACboy out of the monster's labyrinth.But when you arrive at the gate of the maze, the monste say :" I have heard that you are very clever, but if can't solve my problems, you will die with ACboy."
    The problems of the monster is shown on the wall:
    Each problem's first line is a integer N(the number of commands), and a word "FIFO" or "FILO".(you are very happy because you know "FIFO" stands for "First In First Out", and "FILO" means "First In Last Out").
    and the following N lines, each line is "IN M" or "OUT", (M represent a integer).
    and the answer of a problem is a passowrd of a door, so if you want to rescue ACboy, answer the problem carefully!
     
    Input
    The input contains multiple test cases.
    The first line has one integer,represent the number oftest cases.
    And the input of each subproblem are described above.
     
    Output
    For each command "OUT", you should output a integer depend on the word is "FIFO" or "FILO", or a word "None" if you don't have any integer.
     
    Sample Input
    4
    4 FIFO
    IN 1
    IN 2
    OUT
    OUT
    4 FILO
    IN 1
    IN 2
    OUT
    OUT
    5 FIFO
    IN 1
    IN 2
    OUT
    OUT
    OUT
    5 FILO
    IN 1
    IN 2
    OUT
    IN 3
    OUT
     
    Sample Output
    1
    2
    2
    1
    1
    2
    None
    2
    3
    //hdu1702
    #include<iostream>
    #include<stdio.h>
    #include<queue>
    #include<string.h>
    #include<stack>
    using namespace std;
    int main()
    {
      int n,m,k;
      char s[5],ss[5];
      cin>>n;
      while(n--)
      {
        cin>>m;
        cin>>s;
        if(s[2]=='F')//队列
        {
          queue<int>mm;
          for(int i=0;i<m;i++)
          {
            cin>>ss;
            if(ss[0]=='I')
              {
                cin>>k;
                mm.push(k);
              }
            else
            {
              if(mm.empty())
                cout<<"None"<<endl;
              else
                {
                  cout<<mm.front()<<endl;
                  mm.pop();
                }
            }
          }
          
        }
        else//
        {
          stack<int>mmm;
          for(int i=0;i<m;i++)
          {
            cin>>ss;
            if(ss[0]=='I')
              {
                cin>>k;
                mmm.push(k);
              }
            else
            {
              if(mmm.empty())
                cout<<"None"<<endl;
              else
                {
                  cout<<mmm.top()<<endl;
                  mmm.pop();
                }
            }
          }
        }
      }
      return 0;
    }
    等风起的那一天,我已准备好一切
  • 相关阅读:
    EnterpriseLibrary
    如何只保证窗口只打开一次[即只运行一个进程]
    设计模式之工厂方法模式
    设计模式之代理类
    asp.net mvc应用架构的思考--Unity的应用及三层代码
    为什么我说不要用TransactionScope
    Redis入门学习
    实战分层架构
    asp.net mvc 4多级area实现技巧
    jsonp其实很简单【ajax跨域请求】
  • 原文地址:https://www.cnblogs.com/-citywall123/p/9500755.html
Copyright © 2020-2023  润新知