| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3775 人关注过本帖
标题:扑克牌里面的24点~
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
结帖率:99.25%
收藏
已结贴  问题点数:100 回复次数:17 
扑克牌里面的24点~
现在有一副除去大王小王的扑克牌,问题是至少多少张牌里面任意组合牌面数字相加必然能得到24?

问题虽然很简洁,但这个问题把久久难住了,有能说说思路的大神吗?如果能现具体代码就更好了~

[此贴子已经被作者于2017-8-22 05:11编辑过]

搜索更多相关主题的帖子: 扑克牌 组合 相加 思路 代码 
2017-08-22 04:46
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
J-11 Q-12 K-13
浅浅研究了一下~结论是不得不承认这个世界上真的存在超级复杂变态的题目~有能力的尽量试试吧~或许这个论坛上没有一个人能解出来~~先放了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-08-22 07:19
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
现在久久收回2楼说的话~其实还是有希望的~到底还是方法问题~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-08-22 08:18
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10540
专家分:42927
注 册:2014-5-20
收藏
得分:25 
是不是这意思:在4*13[1..13]张牌中,取任意张牌组合的点数为24。
2017-08-22 08:24
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 4楼 吹水佬
意思是说任意取N张牌,然后在这N张牌的任意组合中保证至少有一种方案能得出24点,求这个N的最小值~

就是在4*[1,13]中取~

[此贴子已经被作者于2017-8-22 09:44编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-08-22 09:42
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10540
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用九转星河在2017-8-22 09:42:35的发言:

意思是说任意取N张牌,然后在这N张牌的任意组合中保证至少有一种方案能得出24点,求这个N的最小值~

就是在4*[1,13]中取~

(1)在4*[1,13]张中取任意取N张, 1<N<13
(2)在N张任意取M张的组合24点时为所求
(3)继续(1)直到取完所有的N
2017-08-22 10:08
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 6楼 吹水佬
我理解是底数最小12张--1 2 3 各4张刚好为24~然后就要解决问题了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-08-22 10:16
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:25 
这玩意儿怎么这么像背包问题?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-08-22 11:42
lmlm1001
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:4
帖 子:107
专家分:550
注 册:2015-3-1
收藏
得分:25 
蒙特卡洛模型?

既然是必然,那么就不是概率的范畴
个人有个简单的算法,就是首先手里拥有52张扑克,先计算能否组合出24;
如果能组合出24,那么就遍历一遍手里的牌,看去掉每一张是否能组合出24,如果能就继续减;
如果不能组合出24,那么结论就出来了。

[此贴子已经被作者于2017-8-22 22:09编辑过]

2017-08-22 21:48
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 9楼 lmlm1001
我也有个思路,先说说你的逆推其实和顺着推是差不多的~只是如果N比较大的时候逆推能快速得出结果,反之顺推能较快得出结果~不过这样除了要遍历所有取牌方法外还需要遍历有没有能组成24的组合~结论就是这种方法严重超时~


PS~突然明白其实逆推的收敛速度较快~顺推要穷尽那一次取法的所有组合才能得出结论而逆推遇到能组合24就可以跳了~

其实可以先用dfs求出能得到24点的所有可能然后再在那个集合中再用dfs求刚刚能保证无论怎么取该取法都至少包含一个子集~不过现在还不确定这个方案能不能行得通~

[此贴子已经被作者于2017-8-23 06:47编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-08-23 06:21
快速回复:扑克牌里面的24点~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015753 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved