‹ 上一题 下一题 ›

g5-08293. 变量表达式 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLmap

题目描述

先给 个变量的取值,再给一个表达式,求表达式的值。

  • 变量名是只含小写字母的串(长度 到 ),值是整数(可为负,绝对值不超过 );
  • 表达式由变量和非负整数常量(不超过 )用 +、- 连接而成:无空格、无括号,第一个记号前面没有符号,之后每个记号前面恰好一个 + 或 -,至少含一个记号;表达式里出现的变量都已在变量表中。

把变量表装进 map<string, long long>,然后手写扫描:一个记号一个记号地读——字母开头就攒变量名去表里查值,数字开头就攒数字;每个记号的正负由它前面的 +/- 决定(第一个记号默认为正)。

输入格式

第一行一个整数 ()。

接下来 行,每行一个变量名和一个整数()。

最后一行一个字符串:表达式(长度 到 )。

输出格式

一行一个整数:表达式的值。数据保证计算过程中任何中间结果与最终结果的绝对值都在 long long 表示范围内。

样例

输入:

2
x 2
y -3
x+5-y

输出:

10

是减去 ,等于加 :——符号跟着记号走,变量值本身的正负另算。

数据范围

,,表达式长度 。提示:- 后面不管是常量还是变量,都是减去它——把 -5 里的 当正数加上去,答案立刻不对。

输入
输出

            
答案