题解 | #24点游戏算法#

def digui(arr,item):
    if item < 1:
        return False
    if len(arr) == 1:
        if arr[0] == item:
            return True
        else:
            return False
    else:
        for i in range(len(arr)):
            n = arr[i]
            m = arr[0:i] + arr[i + 1:]
            if digui(m, item + n) or digui(m, item - n) or digui(m, item / n) or digui(m, item * n):
                return True
        return False


while True:
    try:
        arr = list(map(int, input().split()))
        re = digui(arr, 24)
        if re:
            print('true')
        else:
            print('false')
    except:
        break
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
Gaynes:查看图片
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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