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

全部评论

相关推荐

牛客10001:问就是六个月,全国可飞,给钱就干
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务