当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。
Nick is a mathematician and his speciality is Boolean logic, especially repetition-free functions. The Boolean function is repetition-free if it can be represented as a repetition-free formula. Formula is repetition-free if each variable occurs in the formula only once.
Let us fix the syntax of considered logical formulae:
The operations are listed from the highest priority to the lowest.
The problem is to represent given Boolean function by a repetition-free formula.
The only line of input contains the Boolean function represented as a string consisting of characters ‘a’..‘k’, ‘(’, ‘)’, ‘~’, ‘&’ and ‘|’. The last three tokens stand for ¬, ∧ and ∨ respectively. Tokens can be separated by an arbitrary number of spaces. The line contains
The first line of the output file must contain “Yes” if function is repetition-free and “No” otherwise.
In the former case the following line must contain the repetition-free formula for given Boolean function in the same format as in the input file. The line must contain no more than
#1 | (a | b) & (a | c) |
---|---|
#2 | d&~d |
#3 | d & ~d | ~((a|~b) & (a|c)) |
#4 | a & b | ~ a & ~b |
#1 | Yes a | b & c |
---|---|
#2 | No |
#3 | Yes ~a&(b|~c) |
#4 | No |
Case time limit(单组数据时间限制) | 2000MS |
时间上限 | 内存上限 |
3000 | 65536 |