题解 | #24点游戏算法#
24点游戏算法
https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb
def dfs(L, res=0): if len(L) == 0: if int(res + 0.999) == 24 and int(res) == 24: return True else: return False if len(L) == 4: for i in range(len(L)): n = L[i] del L[i] if dfs(L, res + n): return True L.append(n) for i in range(len(L)): for op in "+-*/": n = L[i] del L[i] if op == "+": if dfs(L, res + n): return True elif op == "-": if dfs(L, res - n): return True elif op == "*": if dfs(L, res * n): return True elif op == "/": if dfs(L, res / n): return True L.append(n) L = list(map(int, input().split())) if dfs(L): print("true") else: print("false")