AcWing 828. 模拟栈


#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int stk[N],tt;
void init(){
    tt=0;
}
void add(int x){
    stk[++tt]=x;
}
void remove(){
    tt--;
}
int main(){
    int m;
    cin>>m;
    init();
    while(m--){
        string op;
        cin>>op;
        int x;
        if(op=="push"){
            scanf("%d",&x);
            add(x);
        }else if(op=="pop"){
            remove();
        }else if(op=="empty"){
            if(tt) cout<<"NO"<<endl;
            else cout<<"Yes"<<endl;
        }else if(op=="query"){
            cout<<stk[tt]<<endl;
        }
    }
    return 0;
}