498. 模拟队列
时间限制:1000 MS 内存限制:64 MB
题目描述
# 模拟队列 ## 题目描述 实现一个队列,队列初始为空,支持以下四种操作: 1. `push x`:向队尾插入一个整数 $x$。 2. `pop`:删除队头元素。 3. `empty`:判断队列是否为空。 4. `query`:查询队头元素的值。 现在要对队列进行 $M$ 次操作。对于每次 `empty` 和 `query` 操作,输出相应的结果。 保证所有操作合法,即执行 `pop` 和 `query` 操作时,队列非空。 ## 输入格式 从文件 `queue.in` 中读入数据。 第一行包含一个整数 $M$,表示操作次数。 接下来 $M$ 行,每行包含一个操作命令,为 `push x`、`pop`、`empty` 或 `query` 中的一种。 ## 输出格式 将结果输出到文件 `queue.out` 中。 对于每次 `empty` 和 `query` 操作,输出一行结果: - 对于 `empty` 操作,若队列为空,输出 `YES`;否则输出 `NO`。 - 对于 `query` 操作,输出队头元素的整数值。 ## 数据范围 - $1 \le M \le 100000$。 - $1 \le x \le 10^9$。 - 队列初始为空。 - 保证所有操作合法,执行 `pop` 和 `query` 操作时队列非空。 ## 样例输入 ``` 10 push 6 empty query pop empty push 3 push 4 pop query push 6 ``` ## 样例输出 ``` NO 6 YES 4 ```