HX1254H. b的表达式

提交3 通过2
通过率66.7%
时间限制1000ms
内存限制512MiB

题目描述

题目描述

给出一个由 ()|&b 组成的序列,你需要化简它。化简规则:

(1)形如 bb...b|bb...b的,化简结果为“|”两边 b 的个数最多的一项。例如 b|bbb = bbb 。

(2)形如 bb...b&bb...b的,化简结果为“&”两边 b 的个数最少的一项。例如 b&bbb = b 。

(3)同时有“|”和“&”的,先算“&”。 例如 bb|bbb&b = bb|b = bb。

(4)只有“|”或者只有“&”的,先算最左边的“|”或“&”。 例如 bb|b|bbb = bb|bbb = bbb; bb&b&bbb = b&bbb = b。

(5)先算带括号的序列,多层括号先算内层,例如 (b|(bbb&b)b)b&bb =(b∣bb)b= (b|bb)b&bb=bb = bbb&bb = bb。如果括号中只有字符 b,忽略这对括号,例如 (b(b))bb = (bb)bb = bbbb。

“|”和“&”都需要消耗一定的运算资源,不论何种运算,消耗的运算资源都等于参与运算的两边 b 的个数之和。

求化简后的结果中 b 的个数,以及化简过程中消耗的运算资源。

输入格式

一个字符串。

输出格式

输出两个整数,用空格分隔,第 1 个数表示化简后 b 的个数,第 2 个数表示消耗的运算资源。

(b|bb)b&bb
2 8

提示

样例1说明:

化简过程:(b|bb)b&bb = bbb&bb = bb。

第 1 次化简 b|bb 时消耗运算资源为 3,第 2 次化简 bbb&bb 时消耗运算资源为 5。总消耗 8。

b|bbb&bb|b
2 11

输入样例 #3

bb|b

输出样例 #3

2 3

数据范围

设输入序列为 SS。

  • ∣S∣≤105|S|\le10^5。
  • 字符集为 (、)、|、&、b。
  • SS 为合法表达式,每个 | 和 & 的左右操作数均非空。