hdu 1702 ACboy needs your help again!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1702

题目大意:按照所给要求,输出相应的数。“FIFO”指代先进先出,即队列的概念,“FILO”指代先进后出,即栈的表现形式~这里定义两个函数即可,一个队列,一个栈的调用!

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <queue>
 4 #include <stack>
 5 #include <cstring>
 6 using namespace std;
 7 
 8 int s,p,o,z,q;
 9 char ch[105],str[105];
10 
11 int FIFO(int w)
12 {
13     queue<int>q,qq;
14     for (int i=0; i<w; i++)
15     {
16         scanf("%s",ch);
17         if (strcmp(ch,"IN")==0)
18         {
19             scanf("%d",&o);
20             q.push(o);
21         }
22         else if (strcmp(ch,"OUT")==0)
23         {
24             if (!q.empty())
25             {
26                 s=q.front();
27                 cout<<s<<endl;
28                 q.pop();
29             }
30             else
31                 cout<<"None"<<endl;
32 
33         }
34     }
35 }
36 int FILO(int w)
37 {
38     stack<int>q,qq;
39     for (int i=0; i<w; i++)
40     {
41         scanf("%s",ch);
42         if (strcmp(ch,"IN")==0)
43         {
44             scanf("%d",&p);
45             q.push(p);
46         }
47         else if (strcmp(ch,"OUT")==0)
48         {
49             if (!q.empty())
50             {
51                 z=q.top();
52                 cout<<z<<endl;
53                 q.pop();
54             }
55             else
56                 cout<<"None"<<endl;
57         }
58     }
59 }
60 int main ()
61 {
62     int n,m;
63     while (cin>>n)
64     {
65         while (n--)
66         {
67             scanf ("%d%s",&m,str);
68             //scanf("%s %d",ch,m);
69             if (strcmp(str,"FIFO")==0)
70                 FIFO(m);
71             else
72                 FILO(m);
73         }
74     }
75     return 0;
76 }
原文地址:https://www.cnblogs.com/qq-star/p/3879436.html