8.1.1 ACboy needs your help again!
2013-07-24 20:43
239 查看
[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 |
#include <cmath> #include <cstdio> #include <algorithm> #include <cstring> #include <string> #include <cstdlib> #include <queue> #include <stack> using namespace std; const int maxn=210; queue<int> q; stack<int> st; int n,a; char s[20]; void close() { exit(0); } void dostack() { for (int i=1;i<=n;i++) { scanf("%s",s); if (s[0]=='I') { scanf("%d",&a); st.push(a); } else { if (!st.empty()) { printf("%d\n",st.top()); st.pop(); } else printf("None\n"); } } } void doqueue() { for (int i=1;i<=n;i++) { scanf("%s",s); if (s[0]=='I') { scanf("%d",&a); q.push(a); } else { if (!q.empty()) { printf("%d\n",q.front()); q.pop(); } else printf("None\n"); } } } void init() { int T; while (scanf("%d",&T)!=EOF) { while (T--) { while (!q.empty()) q.pop(); while (!st.empty()) st.pop(); scanf("%d",&n); scanf("%s",s); if (s[2]=='F') //queue doqueue(); else dostack(); } } } int main () { init(); close(); return 0; }
相关文章推荐
- (hdu step 8.1.1)ACboy needs your help again!(STL中栈和队列的基本使用)
- (hdu step 8.1.1)ACboy needs your help again!(STL中栈和队列的基本使用)
- HDU 1702 ACboy needs your help again!(模拟两种数据结构)
- HDU 1702 ACboy needs your help again!(附加优先队列)
- ACboy needs your help again!(简单栈)
- A - ACboy needs your help again!
- hdu 1702 :ACboy needs your help again!(练习使用双端队列)
- ACboy needs your help again!--hdu1702
- virtual oj ACboy needs your help again!
- HDOJ 1702 ACboy needs your help again!
- HDU 1702 ACboy needs your help again!
- Acboy needs your help again!
- A - ACboy needs your help again! (栈和队列的简单运用)
- hdu 1702 ACboy needs your help again!
- ACboy needs your help again!
- ACboy needs your help again!
- 【STL基础01】HDU-1702-ACboy needs your help again!
- HDU 1072 ACboy needs your help again!(栈和队列)
- ACboy needs your help again!(1702)
- 1 A - ACboy needs your help again!