【模板】循环队列
题号:NC233680
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

请你实现一个循环队列,该循环队列可利用的空间大小等于n个int型变量的大小。
操作:
push x:将x加入到循环队列尾端。若循环队列已满,输出"full"(不含引号),否则不输出任何内容。保证x为int型整数。
front:输出队首元素,队首不出队。若队列为空,输出"empty"(不含引号)。
pop:输出队首元素,且队首出队。若队列为空,输出"empty"(不含引号)。

输入描述:

第一行输入两个整数n,q (),表示循环队列可利用的空间大小和操作次数。
接下来的q行,每行一个字符串,表示一个操作。保证操作是题目描述中的一种。

输出描述:

按对应操作要求输出。
示例1

输入

复制
3 10
push 1
push 2
front
push 3
push 4
pop
pop
pop
front
pop

输出

复制
1
full
1
2
3
empty
empty