using System;
using System.Collections;
using System.Collections.Generic;
public class Test
{
public
static int Eval
(string
exp) {
Stack<char> operators=new Stack<char>();
Stack<int> operand=new Stack<int>();
for(int i
=0;i
<exp.
Length;i
++) {
if(new List<char>{'(','+','-','*'}.Contains(ch))
operators.Push(ch);
else
if(ch==')')
{
char op=operators.Pop();
if(op=='(') continue;
int b=operand.Pop(),a=operand.Pop();
if(op=='+') operand.Push(a+b);
if(op=='-') operand.Push(a-b);
if(op=='*') operand.Push(a*b);
}
List<char> dig=new List<char>{'0','1','2','3','4','5','6','7','8','9'};
while( dig.
Contains(exp[i
+1])) {
i++;
}
operand.Push(a);
}
}
return operand.Pop();
}
public static void Main()
{
// your code goes here
Console.WriteLine(Eval("(2*(3-(4*5)))"));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnM7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIGludCBFdmFsKHN0cmluZyBleHApCiAgICB7CiAgICAgICAgU3RhY2s8Y2hhcj4gb3BlcmF0b3JzPW5ldyBTdGFjazxjaGFyPigpOwogICAgICAgIFN0YWNrPGludD4gb3BlcmFuZD1uZXcgU3RhY2s8aW50PigpOwogICAgICAgIGZvcihpbnQgaT0wO2k8ZXhwLkxlbmd0aDtpKyspCiAgICAgICAgewogICAgICAgICAgICBjaGFyIGNoPWV4cFtpXTsKICAgICAgICAgICAgaWYobmV3IExpc3Q8Y2hhcj57JygnLCcrJywnLScsJyonfS5Db250YWlucyhjaCkpCiAgICAgICAgICAgICAgICBvcGVyYXRvcnMuUHVzaChjaCk7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGlmKGNoPT0nKScpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2hhciBvcD1vcGVyYXRvcnMuUG9wKCk7CiAgICAgICAgICAgICAgICAgICAgaWYob3A9PScoJykgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgaW50IGI9b3BlcmFuZC5Qb3AoKSxhPW9wZXJhbmQuUG9wKCk7CiAgICAgICAgICAgICAgICAgICAgaWYob3A9PScrJykgb3BlcmFuZC5QdXNoKGErYik7CiAgICAgICAgICAgICAgICAgICAgaWYob3A9PSctJykgb3BlcmFuZC5QdXNoKGEtYik7CiAgICAgICAgICAgICAgICAgICAgaWYob3A9PScqJykgb3BlcmFuZC5QdXNoKGEqYik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgeyBpbnQgYT1leHBbaV0tJzAnOwogICAgICAgICAgICBMaXN0PGNoYXI+IGRpZz1uZXcgTGlzdDxjaGFyPnsnMCcsJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOSd9OwogICAgICAgICAgICAgICAgd2hpbGUoIGRpZy5Db250YWlucyhleHBbaSsxXSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgIGE9YSoxMCsoZXhwW2ldLScwJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgb3BlcmFuZC5QdXNoKGEpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBvcGVyYW5kLlBvcCgpOwogICAgfQoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlDb25zb2xlLldyaXRlTGluZShFdmFsKCIoMiooMy0oNCo1KSkpIikpOwoJfQp9