#LOB1004. 白夜
白夜
该题作为 haha Round 3 T3。
题目背景
起来吧,我的仆从,欢唱着迎接我的到来。
白夜,于混沌中诞生,恰似被剥夺的夜晚,又似被赐予的白昼。那伪装成白昼的太阳,究竟是善意的救赎,还是恶意的捉弄?
白夜,ALEPH 级异想体,形似未发育的人类胚胎,有 对翅膀,由 ZAYIN 级异想体疫医转化而来。
当疫医对 名员工进行“圣洗”后,员工就会转化为 名使徒和 名叛徒,疫医也会转化为生命值高达 的白夜。同时,主管的暂停功能将会失效,也就是说,必须实时战斗,所以说白夜是“能掌管时间的异想体”。
题目描述
白夜的翅膀上闪烁着许多危险的数学表达式。你作为主管,需要关注其中的“二元对称式”(纯属虚构):
当某代数式满足以下要求时:
- 此代数式包含且仅包含两个变量。
- 交换这两个变量的值,该代数式的值不变。
我们就称这样的代数式为二元对称式。
最基本的二元对称式有两种:形如 和 。
可以证明,在已知 和 的值的情况下,任何由 , 组成的二元对称式的值都是可求的。
因此,给定你 和 和闪烁着的一个由 组成的代数式,请你求出它的值。
需要求值的代数式只包含以下代数式〔中间仅由 *()、+ 或 /(,在这里采用整除)连接〕:
a+b和a*b分别表示 和 ;a2+b2表示 ;ab2表示 ;a+b2表示 。
各项运算的优先级(数字越大代表越高):
- (在这里采用整除)
- 平方
- 小括号(里面的先算)
输入格式
第一行,两个整数,分别为 和 的值。
第二行,一个字符串,表示需要求值的二元对称式。
输出格式
一行,即代数式的值。
输入输出样例
300 20000
ab2+a2+b2/a+b2
4445
说明/提示
样例解释
转化为中缀表达式:
,
。
,
$\therefore \frac{(a\times b)^2+a^2+b^2}{(a+b)^2}=
\frac{20000^2+(300^2-2\times20000)}{300^2}=\frac{400050000}{90000}=4445$。
数据范围与约定
对于 的数据:
- 不保证 是整数,但保证 和 是整数。
- $1 \le (a+b),(a\times b) \le 10000,2\times(a\times b) \le a^2+b^2$。
- 保证待求代数式中最多只有 个
/,且代数式长度不超过 ,所有运算次数不超过 。
再提醒一次,这里的 / 是整除。