速算游戏

提交数: 8, 通过率: 25%, 平均分: 27.5

题目描述:

算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感到很郁闷,于是新加了一条规则除了+、-、*、/四种运算以外,还允许使用位运算(分别用‘&’, ‘|’和‘^’表示)。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)
时间限制: 1000ms
空间限制: 256MB