//模拟栈 #include<iostream> #include<string> using namespace std; const int N = 100010; int stk[N], tt; // 分别表示栈和栈里的元素个数 int x; // 插入 void push(int x) { stk[++tt] = x; } // 弹出 void pop() { tt--; } // 判断栈是否为空 bool check() { if (tt > 0) return false; else return true; } // 查询栈顶元素 int query() { return stk[tt]; } int main() { int m; cin >> m; while (m--) { string op; cin >> op; if (op == "push") { cin >> x; push(x); } else if (op == "pop") { pop(); } else if (op == "empty") { if (check()) cout << "YES" << endl; else cout << "NO" << endl; } else if (op == "query") { cout << query() << endl; } } return 0; }