小 C 热衷于学习数理逻辑。有一天,他发现了一种特别的逻辑表达式。在这种逻辑表达式中,所有操作数都是变量,且它们的取值只能为 00 或 11,运算从左往右进行。如果表达式中有括号,则先计算括号内的子表达式的值。特别的,这种表达式有且仅有以下几种运算:
小 C 想知道,给定一个逻辑表达式和其中每一个操作数的初始取值后,再取反某一个操作数的值时,原表达式的值为多少。
为了化简对表达式的处理,我们有如下约定:
表达式将采用后缀表达式的方式输入。
后缀表达式的定义如下:
同时为了方便,输入中:
x1 x2 & x3 |
3
1 0 1
3
1
2
3
1
1
0
x1 ! x2 x4 | x3 x5 ! & & ! & 5 0 1 0 1 1 3 1 3 5【输出样例2】
0 1 1
该后缀表达式的中缀表达式形式为 (�1and�2)or�3(x1andx2)orx3。
该表达式的中缀表达式形式为 (not�1)and(not((�2or�4)and(�3and(not�5))))(notx1)and(not((x2orx4)and(x3and(notx5))))。
其中,∣�∣∣s∣ 表示字符串 �s 的长度。