题解 | #24点游戏算法#向大佬学习,递归YYDS

24点游戏算法

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

def fun(num_list, target):

if len(num_list) == 1:
    return num_list[0] == target
else:
    for i in range(len(num_list)):
        list1 = num_list[:i] + num_list[i+1:]
        n = num_list[i]
        if fun(list1, target + n) or fun(list1, target - n) or fun(list1, target * n) or fun(list1, target / n):
            return True
    else:
        return False

while True:

try:
    num_list = [int(i) for i in input().split()]
    if fun(num_list, 24):
        print('true')
    else:
        print('false')
    
except:
    break
全部评论
用上了dfs,但是思路依旧是前面的逐个进行计算的思路,无法解决(1+1)*(2+4),等2+2的算式。
点赞 回复 分享
发布于 2023-07-05 19:52 陕西
递归思路 分治思想
点赞 回复 分享
发布于 2022-10-14 20:39 湖南

相关推荐

06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

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