http://acm.hdu.edu.cn/showproblem.php?pid=1702
G++交,基本stl栈和队列操作
View Code
#include <iostream> #include <stack> #include <queue> using namespace std ; int main() { int t ; scanf("%d",&t) ; while(t--) { int n,m ; string str ; cin >> n >> str ; if(str=="FIFO") { queue <int> q ; while(n--) { cin >> str ; if(str=="IN") { cin >> m ; q.push(m) ; } else { if(q.empty()) puts("None") ; else { printf("%d\n",q.front()) ; q.pop() ; } } } if(!q.empty()) q.pop() ; } else { stack <int> s ; while(n--) { cin >> str ; if(str=="IN") { cin >> m ; s.push(m) ; } else { if(s.empty()) puts("None") ; else { printf("%d\n",s.top()) ; s.pop() ; } } } if(!s.empty()) s.pop() ; } } return 0 ; }