Expression Of Function.
函数的表达式。
小蓝有一个表达式,他想要你求出它的值。
小蓝定义了 n 个函数,其中,第 i 个函数的名称为 si,参数个数为 ai,参数名分别为 bij,设函数名为 EF,参数个数为 2,参数数值分别为 x,y,那么在表达式中的形式为 EF(x,y)。而某个函数的返回值由一个表达式 pi 决定(表达式中不会出现其他的函数或未定义的参数,只会有+,-,*,/,%,^和参数名称、数字、括号)。
小蓝的表达式规定如下(设 A,B,C,D 为合法表达式):
只有一个数字的表达式合法。
只有一个函数的表达式合法。
形式如 (A)+(B),(A)-(B),(A)*(B),(A)/(B),(A)%(B),(A) ˆ(B) 的表达式合法(请注意运算顺序,括号内的先运算)。
形式如 (A)>(B)?(C):(D),(A)<(B)?(C):(D),(A)=(B)?(C):(D) 的表达式合法,具体含义同C++ 中的三目运算符,不会的请百度查找。
现在,给出表达式 S(保证合法),请你求出它的值。
第一行一个字符串 S。
第二行一个整数 n。
接下来 n 行,每行包括:si,ai,bij,pi。其中,si,pi,bij 为字符串,ai 为整数,bij 共有 ai 个。
仅一行,这个表达式的值。
(3)*(ABC(3))
2
ACB 0 1
ABC 1 k (3)*(k)
27
【样例解释】
第一个函数没有用到,不用管。
第二个函数的作用为:返回 k×3 的值。
所以很简单,(3)*(ABC(3))=3*(3*3)=27。
【数据】
本题共有 5 个测试点。
设 k 为 max{∣S∣,∣si∣,∣pi∣,∣bij∣}。
| 测试点编号 | k | n | ai | 特殊性质 | 分值 |
|---|---|---|---|---|---|
| 1 | ≤7 | ≤5 | ≤1 | 无 | 10 |
| 2 | ≤7 | ≤8 | ≤2 | 无 | 15 |
| 3 | ≤50 | ≤10 | ≤5 | A | 15 |
| 4 | ≤50 | ≤10 | ≤5 | 无 | 25 |
| 5 | ≤100 | ≤30 | ≤10 | 无 | 35 |
特殊性质 A:所有的数字都小于等于 9。
对于 100% 的数据,1≤k≤100,1≤n≤30,1≤ai≤10。
in this D