美文网首页
HJ67 24点游戏算法

HJ67 24点游戏算法

作者: Ribosome_He | 来源:发表于2021-10-07 00:55 被阅读0次

描述
问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利
输入:
4个1-10的数字。[数字允许重复,但每个数字仅允许使用一次,测试用例保证无异常数字。
输出:

true or false

本题含有多组样例输入。
输入描述:
输入4个int整数

输出描述:
返回能否得到24点,能输出true,不能输出false

#dfs深度优先搜索
#递归到最底层,再从相邻节点就递归到最底层

def jisuan(arr,i):
    if i < 0 : #i<0说明四张牌合起来比24点大
        return False
    elif len(arr) == 1: #剩一个数时,若相等即可拼成24点
        return arr[0] == i
    else:
        for j in range(len(arr)):
            a = arr[:j] + arr[j+1:] #取出一个数,其他三个数继续做计算
            temp = arr[j]
            if jisuan(a, i-temp) or jisuan(a, i+temp) or jisuan(a, i*temp) or jisuan(a, i/temp): #一个递归完再递归第二个
                return True #有其中一个递归返回true就是找到答案
        return False
    
while True:
    try:
        l = list(map(int,input().split()))
        if jisuan(l, 24):
            print('true')
        else:
            print('false')
    except:
        break

相关文章

  • HJ67 24点游戏算法

    描述问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利输入:4个1-10的数字。[数字允许重复...

  • 游戏中加密算法

    游戏中加密算法 游戏中加密算法

  • 算法04-棋牌游戏常用排序算法

    算法04-棋牌游戏常用排序算法 一、介绍 棋牌游戏常用排序算法包括:链式基数排序、插入排序、希尔排序。 二、链式基...

  • 信息技术项目式教学设计

    课题: 身边的算法厨房游戏 活动内容: 学习要求学生通过对厨房游戏的体验身边的算法,鼓励学生从多个方面熟悉算法,培...

  • 深入理解游戏中寻路算法

    深入理解游戏中寻路算法

  • iOS小游戏——连连看(四)

    小游戏总共主要类分三个:游戏面板类,元素类,算法类 1.LLKalgorithmClass 算法类主要是直连、一折...

  • 个人导航

    算法-方法 算法4 宇宙湾-git 宇宙湾-leetcode 游戏导航 pokemmo github开源项目 毒鸡...

  • Hello,a~*寻路算法!

    寻路算法是游戏中经常用到的算法之一,而这其中A~* 算法大概是我们最耳熟的寻路算法了,下面我们会通过A~* 算法与...

  • A*算法优化

    一. 概述 A算法是游戏中路径搜索的常见算法。Dijkstra是最短路径的经典算法,A算法的思路基本上和Dijks...

  • Minimax算法和α-β剪枝

    上节提到强化学习算法解决的井字棋游戏并不适合用Minimax算法解决,理由是Minimax假设游戏双方都不会犯错,...

网友评论

      本文标题:HJ67 24点游戏算法

      本文链接:https://www.haomeiwen.com/subject/kosanltx.html