#5221. 栈操作模拟

栈操作模拟

题目描述

你正在学习 C++ STL 中的 stack。现在有一个初始为空的整数栈,需要依次执行若干操作。

操作共有 5 种:

  • PUSH x:将整数 x 压入栈顶;
  • POP:删除当前栈顶元素;
  • TOP:输出当前栈顶元素;
  • SIZE:输出当前栈中元素个数;
  • EMPTY:若栈为空输出 YES,否则输出 NO。

题目保证执行 POP 或 TOP 时栈一定非空。

输入格式

第一行一个整数 m,表示操作次数。

接下来 m 行,每行一个操作。

输出格式

对于每个 TOP、SIZE、EMPTY 操作,输出一行对应答案。

样例

9
PUSH 3
PUSH 7
TOP
POP
SIZE
EMPTY
POP
EMPTY
PUSH 10
7
1
NO
YES

数据范围

1 <= m <= 200000,|x| <= 10^9。