ONP - Transform the Expression


Transform the algebraic expression with brackets into RPN form (Reverse Polish Notation). Two-argument operators: +, -, *, /, ^ (priority from the lowest to the highest), brackets ( ). Operands: only letters: a, b ... z. Assume that there is only one RPN form (no expressions like a*b*c).

Input

t [the number of expressions <= 100]
expression [length <= 400]
[other expressions]

Text grouped in [ ] does not appear in the input file.

Output

The expressions in RPN form, one per line.

Example

Input:
3
(a+(b*c))
((a+b)*(z+x))
((a+t)*((b+(a+c))^(c+d)))

Output:
abc*+
ab+zx+*
at+bac++cd+^*

hide comments
cod_r: 2018-08-07 21:11:50

I wrote the code in c++, and for fast input/output, i often use
---ios_base::sync_with_stdio(false);
---cin.tie(NULL);

But by using this, I was getting TLE, which is quite strange. Can anyone help me get what's happening?

nimish_1: 2018-08-04 22:32:37

my code is running correctly for given test cases but on submitting showing wrong ans. any particular test case for which I should check.

daya: 2018-05-12 19:26:46

my code got AC for the test case a+b-c whose output is abc-+ , but i think the output should be ab+c- , which one is correct ?

deena101: 2018-04-11 08:04:40

this is bery easy

x0r19x91: 2018-03-22 15:05:30

0.00 sec in ASM

hello_world123: 2018-03-17 09:40:34

Solved without stack data structure !!!

stevefan1999: 2018-02-08 10:16:33

You can try the Shunting Yard approach, or even go for RD parsing using a LL(k) grammar.
Shunting yard is...best for this kind of question, parsing mathematical expression and such, but kind of useless in real applications. Oh if I do remember correct, its complexity is O(n).

srjsunny: 2018-02-05 21:15:08

no need to consider the special cases i.e. when parenthesis are not there.

hsraktu: 2018-01-26 21:51:20

Since expression is given in fully parenthesised format (as in examples) there is no need to take care of priorities of operators...

kimchiboy03: 2018-01-16 12:20:18

A stack is not required in this problem. However, it is easier to use a stack!

Last edit: 2018-01-16 12:20:45

Added by:mima
Date:2004-05-01
Time limit:5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6 VB.NET
Resource:-

Problem's scores 1 vote

Concept difficulty
Concept difficulty 23%
Implementation difficulty
Implementation difficulty 24%
265 7