题解 | #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")