HDOJ 1702 ACboy needs your help again! (stack & queue)
2015-10-26 16:35
483 查看
ACboy needs your help again!
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4616 Accepted Submission(s): 2370
[align=left]Problem Description[/align]
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!
[align=left]Input[/align]
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.
[align=left]Output[/align]
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.
[align=left]Sample Input[/align]
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
[align=left]Sample Output[/align]
1 2 2 1 1 2 None 2 3
题目链接:HDOJ 1702 ACboy needs your help again! (stack & queue)
FILO 先进后出 用 栈 (stack)
FIFO 先进先出 用队列 (queue)
IN OUT 分别是 进 出 队列 或 栈
已AC代码:
#include<cstdio> #include<cstring> #include<stack> #include<queue> using namespace std; queue<int>Q; stack<int>S; int main() { int T,n,a; char str[50],ch[50]; scanf("%d",&T); while(T--) { scanf("%d%s",&n,str); while(!S.empty())//清空栈 S.pop(); while(!Q.empty())//清空队列 Q.pop(); if(strcmp(str,"FILO")==0) //栈先进后出 { while(n--) { scanf("%s",ch); if(strcmp(ch,"IN")==0) { scanf("%d",&a); S.push(a); } else if(strcmp(ch,"OUT")==0) { if(S.empty()) printf("None\n"); else { printf("%d\n",S.top()); S.pop(); } } } } else if(strcmp(str,"FIFO")==0) //队列先进先出 { while(n--) { scanf("%s",ch); if(strcmp(ch,"IN")==0) { scanf("%d",&a); Q.push(a); } else if(strcmp(ch,"OUT")==0) { if(Q.empty()) printf("None\n"); else { printf("%d\n",Q.front()); Q.pop(); } } } } } return 0; }
相关文章推荐
- 查看jar包源码---jd-gui
- ++Builder的学习教材
- Android四个多线程分析:MessageQueue实现
- A sigular value decomposition(奇异值分解)
- ios中实现对UItextField,UITextView等输入框的字数限制
- marquee标签制作轮播图
- request获取服务器地址
- iOS开发UI篇—Quartz2D简单使用(一)
- LeetCode 51: N-Queens
- 075.Quick Sort 快速排序
- Map、Set、List、Collection、Queue、Stack的特点与用法。
- UITableView复用导致数据折叠
- Dictionary Programming Guide
- ligerui ligerGrid 先填写搜索条件,在查询 因为如果数据比较多时,这样子比较消耗流量
- UIViewController的生命周期
- UED大全
- Android之UI开源框架
- Android中关于Volley的使用(五)从RequestQueue开始来深入认识Volley
- 一个简化版的仿微信聊天界面UI
- UIKeyboardWillShowNotification