MD牛客网一直说堆栈溢出。。找了好半天才知道是没加if(!Mystack.empty())
#include <iostream>
#include <stack>
using namespace std;
stack<int> Mystack;
int main() {
char c;
int n;
int sum=0;
while(cin>>n){
getchar();
for(int i=0;i<n;i++){
cin>>c;
if(c=='A')
{
if(Mystack.empty())
cout<<"E"<<endl;
else
{
cout<<Mystack.top()<<endl;
}
}
else if(c=='O')
{
if(!Mystack.empty()) Mystack.pop();
}
else if(c=='P')
{
cin>>sum;
Mystack.push(sum);
}
}
cout<<endl;
}
return 0;
}