Problem title
Difficulty
Avg time to solve

City And Bridges
Moderate
50 mins
Magic Park
Hard
40 mins
Ninja Land
Ninja
100 mins
Critical Connection
Hard
60 mins
Make Array Elements Equal
Moderate
25 mins
Longest Path in Tree
Moderate
25 mins
Co-prime Twins
Hard
70 mins
Boat Journey
Hard
60 mins
Sam and shopping
Hard
--
Palindromes And Indexes
Moderate
50 mins
1

Different Ways To Add Parenthesis

Difficulty: EASY
Contributed By
Avg. time to solve
10 min
Success Rate
90%

Problem Statement

You are given a string 'S' containing an arithmetic expression. Your task is to return all the possible results obtained after putting the valid parenthesis.

It is guaranteed that the given string only contains the ‘+’, ‘-’, ‘*’ operator.

The valid expression is an expression where a number of closing and opening parenthesis is the same. And the result is computed by solving inner parentheses first.

For example:
S = 2 * 3 - 2
((2 * 3) - 2) = 4
(2 * (3 - 2)) = 2 , [4, 2] or [2, 4] are the solution.
Input Format:
The first line of input contains an integer ‘T’ denoting the number of test cases to run. Then the test case follows.

The first and only line of each test case contains arithmetic expressions containing numbers and  ‘+’, ‘-’, ‘*’ as operators.
Output Format:
For each test case print all the values that can be obtained from the expression after putting valid parenthesis.

You can print values in any order.

The output for each test case will be printed in a separate line.
Note:
You don’t need to print anything. It has already been taken care of. Just implement the given function.
Constraints:
1 <= T <= 10
3 <= len(S) <= 65

len(S) is the length of the string 'S' it is guaranteed that input has at least one operator.  

Time Limit: 1 sec.
Sample Input 1:
2
1+2*3+1
1+1*2
Sample Output 1:
9 8 12 8 10
3 4
Explanation of Sample Input 1:
For first test case output is [9,8,12,8,10] as,
((1 + 2) * (3 + 1)) = 9
((1 + (2 * 3)) + 1) = 8
((1 + 2) * (3 + 1)) = 12
(1 + ((2 * 3) + 1)) = 8
(((1 + 2) * 3) + 1) = 10

For the second test case output is [3, 4] or [4,3] as
((1 + 1) * 2) = 4
(1 + (1 * 2)) = 3
Sample Input 2:
2
1+1-1-1
13*1
Sample Output 2:
2 2 0 0 0
13
Reset Code
Full screen
copy-code
Console