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
|
|
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.
|
|
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: | - |