题解 | #24点运算#
24点运算
https://www.nowcoder.com/practice/7e124483271e4c979a82eb2956544f9d
def fun(count,op,l):
if op == "":
for i,v in enumerate(data):
fun(v,f"{tran.get(v,v)}",data[:i] + data[i+1:])
elif l == []:
if count == 24:
global result
result = op
return
else:
for i,v in enumerate(l):
fun(count+v,f"{op}+{tran.get(v,v)}",l[:i] + l[i+1:])
fun(count-v,f"{op}-{tran.get(v,v)}",l[:i] + l[i+1:])
fun(count*v,f"{op}*{tran.get(v,v)}",l[:i] + l[i+1:])
fun(count/v,f"{op}/{tran.get(v,v)}",l[:i] + l[i+1:])
try:
data = list(map(int,input().replace("A","1").replace("J","11").replace("Q","12").replace("K","13").split()))
tran = {1:"A",11:"J",12:"Q",13:"K"}
global result
result = ""
fun(0,"",data)
print(result if result else "NONE")
except:
print("ERROR")
