IITKESO207PA1Q2 - Queues
In this problem, you have to implement queues in C/C++. There are three operations that you must implement.
- Enqueue : Takes an element and adds it to the back of the queue.
- Dequeue: Removes the first element in the queue.
- Is_Empty : Returns true if the queue is empty, false otherwise.
Note: Using standard library implementation is NOT allowed and will be considered cheating.
Input
First line contains t: the number of test cases. Each test case has lines.
The first line contains q, the number of queries. q lines follow.
Each query is has one or two space separated integers. The first is the opcode. 1 for Enqueue, 2 for Dequeue and 3 for Is_Empty.
If the opcode is 1, then there is another argument x that denotes the element to be enqueued. The opcodes 2 and 3 are not followed by any number.
Output
The output is as follows:
For the Dequeue operation output the element that has been dequeued. If the queue is empty and a dequeue operation is asked, print "Empty" (without quotes).
For the Is_Empty operation output True/False.
For the Enqueue operation, print the element enqueued.
Constraints
1 ≤ t ≤ 10
1 ≤ q ≤ 1000000
1 ≤ x ≤ 109
Example
Input: 1
7
1 3
1 4
2
3
2
2
3 Output: 3
4
3
False
4
Empty
True
Explanation
The first line of the input says that there is only 1 test case.
The second line says there will be 7 queries.
The third line is 1 3 which means that we must enqueue 3 to the queue; the output is 3. Fourth line says that we enqueue 4 to the queue; the output is 4.
The fifth line asks for a dequeue operation and the output should be 3. The sixth line asks whether the queue is empty or not and the answer is False.
Added by: | Programming Club, IITK |
Date: | 2018-01-11 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | C NCSHARP C++ 4.3.2 CPP CPP14 C99 JULIA PYPY3 |