/ WHOJ / 题库 /

速算游戏

速算游戏

题目描述

”算 \(24\) 点”的游戏规则如下:每局游戏随机抽出 \(4\) 张牌,每张牌的点数代表相应数字(其中 \(A\) 表示 \(1\),\(J\) 代表 \(11\),\(Q\) 代表 \(12\),\(K\) 代表 \(13\),无 \(Joker\))。而游戏者必须通过 \(+、-、×、/\) 四种运算和括号(除法必须能够除尽.例如 \(6/3\) 是允许的,而 \(6/4\) 是不允许的)合理地安排运算的顺序.最终得出 \(24\)。如 \((7+5)(7-5)=24\),\(2K-6/3=24\) 等。
有一次,小明和小强算 \(24\) 点,结果小明每一次都输,他感到很郁闷,于是新加了一条规则:除了 \(+、-、×、/\)四种运算以外,还允许使用位运算 (\(\&,I\) 和 ^)。但是加了这个规则以后,小明还是每次都输。请写一个程序,在新的规则下帮小明在 \(1s\) 内算出 \(24\) 点的答案。

格式

输入格式

\(1\) 行 \(4\) 个字符,用 \(1\) 个空格分开,分别为 \(4\) 张牌的点数.其中 \(A、T、J、Q、K\) 分别表示 \(1、10、11、12\) 和 \(13\),输人数据保证有解。

输出格式

输出一行,表示 \(24\) 点的解法。输出时请用圆括号补齐每一步的运算。例如,\(3+4+5\) 表示为 \(((3+4)+5)\),\(3x(4+5)\) 表示为 \((3×(4+5))\)。如果有多组解,输出所有解中字典顺序最小的一个。

样例1

样例输入1

A 2 3 4

样例输出1

(((2*3)*4)*A)

限制

\(1s, 64MB~for~each~test~case.\)