速算游戏
提交数: 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