#P1025. [QY-004-Div.3] B.定义宏的读取实现
[QY-004-Div.3] B.定义宏的读取实现
题目描述
#define 是一个非常常用的预处理语句,用于定义宏,常见用法为:
#define 常量 参数
#define 原串 处理串
用法相当多样,在本题中只会有如下格式:
#define a 114514
//即一个小写字母变量与一个 int 范围内的正整数作为参数。
#define Plus(a) a+a
//即一个类似函数的原串与一个只有一个运算符的处理串。
这里的运算符仅包括 +、-、*、/,前后仅可能为函数内的变量或一个正整数(运算符前后至少有一个函数内变量)。
现在给定 个 #define 语句,以及一个运算串 ,现在需要你输出 的值。
-
是一个形如
a+b式的无空格字符串。 -
a、b只会是正整数、#define中定义的常量、#define中定义的函数串(函数串括号中只会是正整数或#define中定义的常量)。 -
+只会是+、-、*、/之一。 -
特别地,上述所有的
/除法均向下取整,由于乘除法优先于加减法,为了方便处理,这里所有的函数串默认带有括号(即x+y表示(x+y))。
输入格式
第一行一个正整数 。
随后 行,每行一个符合 #define 语句格式的串。
第 行,一个形如 a+b 的字符串 。
输出格式
一行一个正整数,表示 的值。
输入输出样例 #1
输入 #1
2
#define a 114514
#define F(a) a*2
F(114)-a
输出 #1
-114286
输入输出样例 #2
输入 #2
2
#define p 1919810
#define P(x) x+x
P(p)/15
输出 #2
255974
说明/提示
对于 的数据有 。
对于另外 的数据有 。
对于 的数据有 ,且不会出现函数名与常量名的矛盾,字符串长度不大于 ,变量、常量均为一个小写字母。
Tips
本题为了符合黄题难度已经削得不能再削了。
注意整行输入、long long 整型。