题解 | #24点游戏算法#
24点游戏算法
https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb
# load data
num = list(map(lambda x:float(x),input().split(" ")))
# implement the dfs
def dfs(num,idx,res):
if res==24:
return True
for i in range(0,len(num)):
if dfs(num[:i]+num[i+1:],i+1,res+num[i]) or dfs(num[:i]+num[i+1:],i+1,res-num[i]) or \
dfs(num[:i]+num[i+1:],i+1,res*num[i]) or dfs(num[:i]+num[i+1:],i+1,res/num[i]):
return True
return False
# main
if dfs(num,0,0):
print('true')
else:
print('false')
查看2道真题和解析