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



全部评论

相关推荐

LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司7个岗位
点赞 评论 收藏
分享
在秋招的小白菜很想养修勾:一眼 苍穹外卖+谷粒商城,项目换一换吧,可以找一些付费知识星球博主带带,避免烂大街。多投投大厂,背背八股,你这学历乱杀了,等实习经验到位,到时候大厂闭眼选
投递美团等公司7个岗位
点赞 评论 收藏
分享
06-04 18:37
门头沟学院 Java
勇敢的ssr求对象:前面看的有点奔溃,看到只有你是真玩啊,忍不住笑出了声😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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