题解 | #24点游戏算法#

24点游戏算法

https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb

import itertools
def dfs(nums):
    try:
        n = len(nums)
        if n==1 and nums[0]==24:
            return True
        else:
            for x, y in itertools.permutations(nums, 2):
                nums.remove(x)
                nums.remove(y)
                if dfs(nums+[x+y]):
                    return True
                if dfs(nums+[x-y]):
                    return True
                if dfs(nums+[x*y]):
                    return True
                if dfs(nums+[x/y]):
                    return True
                nums.append(x)
                nums.append(y)
        return False
    except:
        pass
nums = list(map(int, input().split()))
if dfs(nums):
    print('true')
else:
    print('false')

全部评论

相关推荐

2025-12-15 14:16
门头沟学院 Java
回家当保安:发offer的时候会背调学信网,最好不要这样。 “27届 ”和“28届以下 ”公司招聘的预期是不一样的。
实习简历求拷打
点赞 评论 收藏
分享
2025-12-17 17:15
华东师范大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务