Problem4501--队列的基本操作

4501: 队列的基本操作

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

队列是一种基本的数据结构。队列具有两种基本操作方式,push 和 pop。push 会将一个值会将其压入队列队尾,而 pop 将会从队列队头弹出。现在我们就来验证一下队列的使用。

Input

首先输入整数 $t$($1 \leq t \leq 10$),代表测试的组数,以后是 $t$ 组输入。
对于每组测试数据,第一行输入两个正整数 $m$($1 \leq m \leq 100$)、$n$($1 \leq n \leq  1000$),其中 $m$ 代表当前队列的最大长度,$n$ 代表本组测试下面要输入的操作数。
而后的 $n$ 行,每行的第一个字符可能是 'P’ 或者 'O’ 或者 'A’;如果是 'P’,后面还会跟着一个整数,表示把这个数据写入队尾;如果是 'O’,表示队尾元素出队;如果是 'A',表示询问当前队列头部的值。
我们保证所有队列中的数据绝对值不会超过 $10^9$。

Output

对于每组测试数据,根据其中的命令字符来处理队列;
(1)对所有的 'P' 操作,如果队列满输出 'F',否则完成入队操作;
(2)对所有的 'A' 操作,如果队列空,则输出 'E',否则输出当时队头的值;
(3)对所有的 'O' 操作,如果队列空,则输出 'E',否则输出队列头部元素的值,并让其出队;
每个输出占据一行,每组测试数据(最后一组除外)完成后,输出一个空行。

Sample 1 Input

2
5 12
A
P 9
A
P 6
P 3
P 10
P 8
A
P 2
O
O
O
2 5
P 1
P 3
O
P 5
A

Sample 1 Output

E
9
9
F
9
6
3

1
3

Source/Category

数据结构 2.4.队列