速算游戏(point24.*)
测试数据来自 wjszez/1528
问题描述
“算24点”的游戏大家一定都不陌生。每局游戏随机抽出4张牌,每张牌的点数代表相应数字(其中A表示1,J代表11,Q代表12,K代表13,无Joker)。而游戏者必须通过+、-、*、/四种运算和括号(除法必须能够除尽,例如6/3是允许的,而6/4是不允许的)合理地安排运算的顺序,最终得出24,例如(7+5)*(7-5)=24, 2*K-6/3=24等等。
有一次,jyy和lhc算24点,结果每一次都输,jyy感到很郁闷,于是新加了一条规则:除了+、-、*、/四种运算以外,还允许使用位运算and, or和xor(分别用‘&’, ‘|’和‘^’表示)。Jyy想,如此一来,lhc的脑子就肯定转不过弯来了。谁知道加了这个规则以后,jyy还是每次都输。所以请你写一个程序,在新的规则下帮jyy在1s内算出24点的答案。
输入格式
一行4个字符,用空格分开,分别为4张牌的点数,其中A、T、J、Q、K分别表示1、10、11、12和13。输入数据保证有解。
输出格式
输出一行,表示24点的解法。输出时请用圆括号补齐每一步的运算,例如3+4+5表示为((3+4)+5),3*(4+5)表示为(3*(4+5))。如果有多组解,输出所有解中字典顺序最小的一个。
样例输入
T J Q K
样例输出
(((J*T)&K)+Q)
信息
- ID
- 1547
- 难度
- (无)
- 分类
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者