http://acm.hdu.edu.cn/showproblem.php?pid=1702
#include<iostream> #include<cstdio> #include<cstring> #include<list> using namespace std; int main() { // freopen("1.txt","r",stdin); int n; scanf("%d",&n); while(n--) { int m,i,x; list<int>li; li.clear(); char s[10],ss[10]; scanf("%d %s",&m,s); if(strcmp(s,"FIFO")==0) { for(i=0; i<m; i++) { scanf("%s",ss); if(strcmp(ss,"IN")==0) { cin>>x; li.push_back(x); } else { if(li.empty()) cout<<"None"<<endl; else { cout<<li.front()<<endl; li.pop_front(); } } } } else { for(i=0; i<m; i++) { scanf("%s",ss); if(strcmp(ss,"IN")==0) { cin>>x; li.push_back(x); } else { if(li.empty()) cout<<"None"<<endl; else { cout<<li.back()<<endl; li.pop_back(); } } } } } return 0; }
#include<iostream> #include<cstdio> #include<cstring> #include<stack> #include<queue> using namespace std; int main() { // freopen("1.txt","r",stdin); int n,x,m; char s[10],ss[10]; stack<int>st; queue<int>q; scanf("%d",&n); while(n--) { while(!st.empty()) st.pop(); while(!q.empty()) q.pop(); scanf("%d %s",&m,s); if(strcmp(s,"FILO")==0) { for(int i=0; i<m; i++) { scanf("%s",ss); if(strcmp(ss,"IN")==0) { cin>>x; st.push(x); } else { if(st.empty()) cout<<"None"<<endl; else { cout<<st.top()<<endl;; st.pop(); } } } } else { for(int i=0; i<m; i++) { scanf("%s",ss); if(strcmp(ss,"IN")==0) { cin>>x; q.push(x); } else { if(q.empty()) cout<<"None"<<endl; else { cout<<q.front()<<endl; q.pop(); } } } } } return 0; }