题目描述
24点游戏是一个非常有意思的游戏,很流行,玩法很简单:给你4张牌,每张牌上有数字(其中A代表1,J代表11,Q代表12,K代表13),你可以利用数学中的加、减、乘、除以及括号想办法得到24,例如:
((A* K)-J) * Q等价于((1 * 13)-11) * 12=24
加减乘不用多说了,但除法必须满足能整除才能除!这样有一些是得不到24点的,所以这里只要求求出不超过24的最大值。

输入
输入第一行N(1<=N<=5)表示有N组测试数据。每组测试数据输入4行,每行一个整数(1到13)表示牌值。

输出
每组测试数据输出一个整数,表示所能得到的最大的不超过24的值。

样例输入
3
3
3
3
3
1
1
1
1
12
5
13
1

样例输出
24
4
21

题解:

题目主要讲的是给n组数据,求他们小于等于24的最大组合(就是单纯的二十四点)。
搞清楚题目大意,我们就把问题简化一下:

法1:

全排列+挨个枚举。
O(44 * 53 *5)
实际上可能更长,所以这不是重点。

法2:

把这个二十四点转换成四个数和并成一数,每次合并把两个数合成一个数,和并分五种来枚举:
设合并的两数为i,j。

  1. i+j
  2. i-j
  3. j-i(别忘了这个)
  4. i*j
  5. i%j=0就i/j j%i=0就j/i(注意除数不能等于0)

合并的方法:

i=1~3
j=i~4
if(a[i]和a[j]有任意一个以前合并过就不进行合并)

合并3次后就判断,因为合并方法,所以最后的答案一定在a[1] (可以自己想想)。
然后就好了。

Python数据分析与挖掘

【2011.10.29模拟】24点游戏题解相关推荐

  1. 679. 24 点游戏

    链接:679. 24 点游戏 题解: https://leetcode-cn.com/problems/24-game/solution/ying-gai-shi-man-hao-li-jie-de- ...

  2. Java黑皮书课后题第3章:**3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小、花色

    **3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小.花色 题目 题目概述 运行示例 破题 代码 题目 题目概述 **3.24(游戏:抽牌)编写程序,模拟从一副52张 ...

  3. 英雄远征(9:20--11:29)30级体验

    英雄远征(9:20--11:29)30级体验 1级任务指引提升等级,体验游戏.   2级任务指引领取装备礼包.(亮点)   3级任务指引领取武器(亮点)   4级任务指引玩家领取武器并使用.(亮点) ...

  4. python游戏开发步骤_详解Python GUI版24点游戏制作过程

    本文作者为浙江温州永嘉县教师发展中心应根球老师,电子邮箱:ycicada@163.com. 传统用扑克牌算24点游戏用于小学低中段学生训练四则运算效果不错,也可用于防止老年痴呆.本项目模拟传统扑克24 ...

  5. 按冯诺依曼提出的计算机类型,2011年12月24日计算机一级考试题目广西

    <2011年12月24日计算机一级考试题目广西>由会员分享,可在线阅读,更多相关<2011年12月24日计算机一级考试题目广西(13页珍藏版)>请在人人文库网上搜索. 1.全国 ...

  6. 1.16 24点游戏

    24点游戏的解决办法,也是采取穷举法的思路,4个数,有4!=24中排列的方法,然后3个操作符号,有4×4×4 = 64种结果,再加上括号,有5种结果,于是,每4个数有24*66*5 = 7680中结果 ...

  7. 用python代替人脑运算24点游戏

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:老方玩编程 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  8. 详解Python GUI版24点游戏制作过程

    本文作者为浙江温州永嘉县教师发展中心应根球老师,电子邮箱:ycicada@163.com. 传统用扑克牌算24点游戏用于小学低中段学生训练四则运算效果不错,也可用于防止老年痴呆.本项目模拟传统扑克24 ...

  9. python二十四点_python实现24点游戏(地球上最短的24点游戏代码?)

    牛bi要挑大的吹,否则看帖的人没几个. 所谓24点游戏,就是4个数字和算符的排列组合: 四个里挑两个P(4,2) 计算:四个算符 四个里剩余两个+计算结果,三个里挑两个P(3,2) 计算:四个算符 经 ...

最新文章

  1. Unity3D笔记 GUI 二 、实现选项卡一窗口
  2. golang NewRequest gorequest 实现http请求
  3. 用户层CS段描述符信息
  4. SQL Server2005 使用FOR XML选项进行字符串的串联聚合
  5. 在Windows 10 系统上启用Hyper V遇到的错误:0x800f0831
  6. [蓝桥杯][算法提高VIP]最小乘积(提高型)-排序
  7. android接口类命名规范_超全面的UI基础设计规范来啦,还不收藏 ~
  8. [概率论]如何通俗地理解“最大似然估计法”?
  9. centos7 离线安装自签名harbor
  10. 第五章---引入复制后的数据库架构
  11. java 001 002_69期-Java SE-019-实用类-2-001-002
  12. opencv图像处理8-卷积
  13. 《Adobe Fireworks CS5中文版经典教程》——1.2 工具面板
  14. Latex 只在首页添加页眉页脚 修改局部字体大小
  15. 【基于狂神Docker双响曲】:1、Docker入门及常用部署
  16. 05-SparkRDD原理和编程接口
  17. 基于多相滤波器的数字信道化算法详解(Python, Verilog代码已开源)
  18. 趣图 | 程序员的白天 vs 夜晚?
  19. .Net开发 开发工具使用vs C盘占用空间不断增大
  20. 杨辉三角队列c语言程序,C语言完整队列 与链式队列实现杨辉三角

热门文章

  1. window本地代理及共享端口445修改
  2. app维持h5登录状态_维持团队设计质量的5种工具
  3. 2020-8-15词汇
  4. 图片文件如何批量改名,分享批量改名小技巧
  5. Processing摸索前行(9)-音频可视化
  6. js-url转换blob以及blob与base64的相互转换
  7. 虚拟机 xp 3d加速问题
  8. CUDA C/C++ 流和并发
  9. 2-Druid 系统框架
  10. Python爬虫实战,QQ音乐爬取全部歌曲