题解 | #24点游戏算法#

24点游戏算法

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



def dfs(nums):
    if len(nums) == 1:
        if abs(nums[0]-24) <= 1e-1:
            return True
        else:
            return False

    for i in range(len(nums)-1):
        for j in range(i+1, len(nums)):
            if i != j:
                a = nums[i]
                b = nums[j]
                ans = dfs(nums[:i] + nums[i+1:j] + nums[j+1:] + [a+b]) \
                or dfs(nums[:i] + nums[i+1:j] + nums[j+1:] + [a-b]) \
                or dfs(nums[:i] + nums[i+1:j] + nums[j+1:] + [a*b]) \
                or (b != 0 and dfs(nums[:i] + nums[i+1:j] + nums[j+1:] + [a/b]))
                if ans == True:
                    return ans
    return False

nums = list(map(int, input().split()))
if dfs(nums):
    print("true")
else:
    print("false")



全部评论

相关推荐

运营你豪哥:简历改改吧-非本、求职意向技术岗、无实习经历、内容空洞 如果简历不爆改的话,应该是会持续崩溃了 1.把你教育经历放最下面去 2.蓝底照片很奇怪哈,感觉还在高中时代,建议白底重新拍一下 3.校园经历没啥必要,收集和反馈同学们对产品的意见,解决学生和老师之间的沟通,企业招聘不看这些哈 好好思考一下简历的设计和你要表达的重点,再去投简历
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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