#include <iostream>
#include <queue>
#include <stack>
#include <string>
#include <vector>
//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
using namespace std;
class solution3 {
public:
queue<int>Q;
stack<int>S;
vector<string>show;//用于保存
string sFlags,sInorOut;
int iLoop,iSubLoop,iTarget;
char* itos=new char[256];
solution3();
};
solution3::solution3() {
cin >> iLoop;//先输入 循环几次
while (iLoop--) {
cin >> iSubLoop>>sFlags;//内循环几次
if(sFlags=="FIFO"){//先进先出 队列
while (iSubLoop--)
{
cin >> sInorOut;
if (sInorOut=="IN") {
//进队列
cin >> iTarget;
Q.push(iTarget);
}
else {
//出队列
if (Q.empty()) {
show.push_back("none");
}
else {
sprintf_s(itos, 3,"%d", Q.front());
show.push_back(itos);
Q.pop();//出队列
}
}
}
}
else {
while (iSubLoop--)
{
//这个是栈
cin >> sInorOut;
if (sInorOut=="IN") {
cin >> iTarget;
S.push(iTarget);
}
else {
if (S.empty()) {
show.push_back("none");
}
else {
sprintf_s(itos,3 ,"%d", S.top());
show.push_back(itos);
S.pop();
}
}
}
}
}
for (auto i = show.begin(); i != show.end(); i++) {
cout << *i << endl;
}
}
int main() {
solution3 s1;
}
hdu 1702 “ACBOY NEEDS YOUR HELP AGAGIN“
最新推荐文章于 2024-04-29 16:55:09 发布