BETA
C++ STL | Set 4 (stack)
Submissions: 902   Accuracy:

41.35%

  Difficulty: Basic
       

Implement different operations on a stack s .

Input:
The first line of input contains an integer T denoting the no of test cases . Then T test cases follow. The first line of input contains an integer Q denoting the no of queries . Then in the next line are Q space separated queries .
A query can be of four types 
1. a x (Pushes an element x to the stack s )
2. b (if stack is not empty pops top element and prints it, else prints -1)
3. c (prints the size of the stack )
4. d (if stack is not empty prints the top element of the stack, else prints -1)

Output:
The output for each test case will  be space separated integers denoting the results of each query . 

Constraints:
1<=T<=100
1<=Q<=100

Example:

Input
2
5
a 4 a 6 a 7 b c 
3
a 55 a 11 d 
 
Output

7 2
11

Explanation :
For the first test case

There are five queries. Queries are performed in this order
1. a 4 { stack s has 4  }
2. a 7 {stack s has 4,7 }
3. a 6 {stack s has 4,7,6}
4. b {pop 6 from stack s and prints it stack now has 4,7}
5. c {prints the size of the stack s}

For the sec test case 
There are three queries. Queries are performed in this order
1. a 55  (stack s has 55}
2. a 11  (stack s has 55 ,11}
3. d      (prints the top element of the stack s ie. 11 )




Note:The Input/Output format and Example given are used for system's internal purpose, and should be used by a user for Expected Output only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.

** For More Input/Output Examples Use 'Expected Output' option **

Author: Shubham Joshi 1


Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.