HDU - 1702 ACboy needs your help again!(栈和队列)

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

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

*******************************************

题意:题意比较清晰,FIFO则先进先出,FILO则先进后出

分析:简单的队列和栈的应用就好

AC代码

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<queue>
 5 #include<algorithm>
 6 #include<time.h>
 7 #include<stack>
 8 using namespace std;
 9 #define N 1000
10 #define INF 0x3f3f3f3f
11
12 int main()
13 {
14     int T,i,a,n;
15     char s[N],str[N];
16
17     scanf("%d", &T);
18
19     while(T--)
20     {
21         scanf("%d %s", &n , s);
22
23         if(s[2]==‘F‘)///存入队列
24         {
25             queue<int >Q;
26             for(i=0;i<n;i++)
27             {
28                 scanf("%s", str);
29                 if(str[0]==‘I‘)
30                 {
31                     scanf("%d", &a);
32                     Q.push(a);
33                 }
34                 else
35                 {
36                     if(Q.empty())
37                         printf("None\n");
38                     else
39                     {
40                         int x=Q.front();
41                         Q.pop();
42                         printf("%d\n", x);
43                     }
44                 }
45             }
46         }
47         else
48         {
49             stack<int >P;
50             for(i=0;i<n;i++)
51             {
52                 scanf("%s", str);
53
54                 if(str[0]==‘I‘)
55                 {
56                     scanf("%d",&a);
57                     P.push(a);
58                 }
59                 else
60                 {
61                     if(P.empty())
62                         printf("None\n");
63                     else
64                     {
65                         int x=P.top();
66                         P.pop();
67                         printf("%d\n", x);
68                     }
69                 }
70             }
71         }
72     }
73
74     return 0;
75 }
时间: 2024-09-30 19:57:05

HDU - 1702 ACboy needs your help again!(栈和队列)的相关文章

HDU 1702 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): 3164    Accepted Submission(s): 1655 Problem Description ACboy was kidnapped!! he miss his mother very much and is ve

HDU 1702 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): 3701    Accepted Submission(s): 1885 Problem Description ACboy was kidnapped!! he miss his mother very much and is v

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 <

HDU 1702 ACboy needs your help again!(栈 队列 基础)

#include<cstdio> #include<cmath> #include<queue> #include<stack> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int t,n; int main() { int i,j,k; cin>>t; char op[10],io[10]; whi

HDU 1702 ACboy needs your help again!(附加优先队列)

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 ma

(hdu step 8.1.1)ACboy needs your help again!(STL中栈和队列的基本使用)

题目: ACboy needs your help again! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 73 Accepted Submission(s): 57   Problem Description ACboy was kidnapped!! he miss his mother very much and is very

HDOJ 1702 ACboy needs your help again!

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1702 ACboy needs your help again! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3512    Accepted Submission(s): 1797 Problem Description ACboy w

hdu 1712 ACboy needs your help

转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712 Problem Description ACboy has N courses this term, and he plans to spend at most M days on study.Of course,the profit he will gain from different course depen

HDU 1022 Train Problem I (数据结构 —— 栈)

Problem Description As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want to get back to school by train(because the trains in the Ignatius Train Station is the fastest all over the world ^v^). But here comes