问题 5765 --逻辑求值

5765: 逻辑求值

题目描述

逻辑表达式的定义如下: + 单个 `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 ```` 定义这种计算顺序为**析取优先**。 给定一个逻辑表达式,请分别求出**合取优先**及**析取优先**规定下的计算结果。

输入

一串字符序列:表示给定的逻辑表达式,保证输入数据是一个合法的逻辑表达式。

输出

+ 第一行:表示在**合取优先**规定下逻辑表达式的值。 + 第二行:表示在**析取优先**规定下逻辑表达式的值。

样例输入输出

输入#1 复制
true or false and false or false
输出#1 复制
true
false

提示

记 $n$ 表示输入字符序列的总长度, + 对于 $50\%$ 的数据,$1\leq n\leq 1000$; + 对于 $100\%$ 的数据,$1\leq n\leq 1,000,000$。
序号 标题 作者 发表时间 费用 订购数 操作