#P606. 逻辑求值
逻辑求值
题目描述
逻辑表达式的定义如下:
- 单个
true
或false
都是逻辑表达式; - 如果
S
及T
是逻辑表达式,那么S and T
也是逻辑表达式; - 如果
S
及T
是逻辑表达式,那么S or T
也是逻辑表达式。
对逻辑表达式求值前,需要确定 and
与 or
运算的优先级:
- 若规定先算
and
再算or
,则以下表达式的值为
true or false and false or false
~~~~~~~~~~~~~~~
= true or false or false
= true
定义这种计算顺序为合取优先;
- 若规定先算
or
再算and
,则以下表达式的值为
true or false and false or false
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
= true and false
= false
定义这种计算顺序为析取优先。
给定一个逻辑表达式,请分别求出合取优先及析取优先规定下的计算结果。
输入格式
一串字符序列:表示给定的逻辑表达式,保证输入数据是一个合法的逻辑表达式。
输出格式
- 第一行:表示在合取优先规定下逻辑表达式的值。
- 第二行:表示在析取优先规定下逻辑表达式的值。
true or false and false or false
true
false
数据范围
记 表示输入字符序列的总长度,
- 对于 的数据,;
- 对于 的数据,。