Submit | All submissions | Best solutions | Back to list |
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+^*
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: | - |
hide comments
|
||||||||||||||
2015-10-03 12:01:25
how if the input is (a-(b*c)-w-(l-(d-e)*(f+g)+h)^(i*(j-k)/p)) ?? whats is the correct answer? |
||||||||||||||
2015-09-27 09:25:26
finally after 7 submissions made my day :D |
||||||||||||||
2015-09-26 18:27:46
Please not that in the question it has been specified, that this a two argument operations inside a bracket, so cases like (a^b + c) don't arise, hence priority of operators doesn't matter |
||||||||||||||
2015-09-23 19:26:37
Priority of operators is of none importance as the infix expression is completely under brackets ! |
||||||||||||||
2015-09-05 19:43:09
my code is getting runtime error here. It works fine in other IDEs my code id :15070253 |
||||||||||||||
2015-08-10 11:17:21 Amritendu Mondal
I didn't use stack but a tree to store the expression. Good problem , happy to solve this type. |
||||||||||||||
2015-08-08 09:48:11 gaurav
Are there any boundary conditions we need to check for? I have not included the operator precedence, however have tested the solution for a range of expressions and it gives the right answer. SPOJ says its wrong. Are there any conditions I need to check for ? Could someone give me example cases? |
||||||||||||||
2015-08-05 11:46:31 MishThi
Taught me about how stacks function. A great problem for beginners to learn about Stacks. Also, my 49th. :D |
||||||||||||||
2015-08-01 07:18:47
if the input was (a+b^c) , the output should be abc^+ ? true or not? need explanation for several test case |
||||||||||||||
2015-07-19 23:45:01
Use stack, and don't forget to format the output the right way. GG :-) |