完全就是STL的题目,一点转弯的地方都没有。就是一个地方值得注意,刚开始的时候一定要清空栈和队列,我就是在这个地方错的。提交了5次都是错的,最后看了师哥的代码,改成这个就对了。。。。。悲剧啊
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1702
#include <iostream>
#include <string>
#include <queue>
#include <stack>
using namespace std;
int main()
{
stack<int> mystack;
queue<int> myqueue;
string str, str1;
int t, n, a, i;
cin>>t;
while(t--)
{
cin>>n>>str;
while(!myqueue.empty())
myqueue.pop();
while(!mystack.empty())
mystack.pop();
while(n--)
{
cin>>str1;
if((str1=="IN")&&(str=="FIFO"))
{
cin>>a;
myqueue.push(a);
}
if((str1=="IN")&&(str=="FILO"))
{
cin>>a;
mystack.push(a);
}
if((str1=="OUT")&&(str=="FIFO"))
{
if(!myqueue.empty())
{
cout<<myqueue.front();
myqueue.pop();
cout<<endl;
}
else
cout<<"None"<<endl;
}
if((str1=="OUT")&&(str=="FILO"))
{
if(!mystack.empty())
{
cout<<mystack.top();
mystack.pop();
cout<<endl;
}
else
cout<<"None"<<endl;
}
}
}
return 0;
}