1676:逻辑求值

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判 命题人:
提交:3 解决:2

题目描述

逻辑表达式的定义如下:

  • 单个 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

定义这种计算顺序为析取优先

给定一个逻辑表达式,请分别求出合取优先析取优先规定下的计算结果。

输入

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

  • 对于 lns="http://www.w3.org/1998/Math/MathML">100% 的数据,lns="http://www.w3.org/1998/Math/MathML">11,000,000


输出

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

样例输入-1 复制

true or false and false or false

样例输出-1 复制

true
false