#P1747. Expression
Expression
本题没有可用的提交语言。
题目描述
已知谢费尔竖线函数(NOT-AND)可用于构造任何布尔函数。该函数的真值表如下: 谢费尔竖线函数的真值表 x | y | x|y 0 | 0 | 1 0 | 1 | 1 1 | 0 | 1 1 | 1 | 0 考虑两个N位二进制数A和B的相加问题。A和B的各位从0(最低有效位)到N-1(最高有效位)编号。A和B的和始终可以用N+1位表示。我们将和的最高有效位(第N位)称为溢出位。 你的任务是使用谢费尔竖线函数构造一个逻辑表达式,计算任意A和B的溢出位的值。表达式的构造需遵循以下规则: Ai表示数字A的第i位的值。 Bi表示数字B的第i位的值。 (x|y)表示对表达式x和y进行谢费尔竖线运算的结果。 在书写A和B的位索引i时,索引应为不带前导零的十进制数。例如,A的第12位应写为A12。表达式必须完全括号化(根据第3条规则)。表达式中不允许有空格。
输入
输入包含一个整数N(1 ≤ N ≤ 100)。
输出
根据题目描述的规则,输出一个用于计算两个N位二进制数A和B相加的溢出位的表达式。 注意:竖线符号(|)是ASCII码为124(十进制)的字符。输出大小不应超过50*N字节。
示例
输入1
2
输出1
((A1|B1)|(((A0|B0)|(A0|B0))|((A1|A1)|(B1|B1))))
题目来源
东北欧1999