金拉米纸牌游戏是一个比较经典的纸牌游戏。游戏结束时,每个玩家手上会有10张不同的扑克牌,若是有连续三张及以上的相同牌或者同花顺即不计分,其余计分;每张牌因面值分数不同,小于等于10时按照面值计算,大于10时按10计算(J、Q、K)。问题在于,一张牌可能同时会有相同牌和同花顺两种组合选择,此时没有哪种优先的说法,组合的方法也变得多样。所以,想问问有没有人愿意用C++算出十张纸牌的最低分数组合?
3条回答 默认 最新
- threenewbee 2018-09-11 10:06关注
不知道你的规则,没有说的很详细。但是这类问题(排列组合)的主要思路是遍历所有可能的结果,并且找到你要的。
遍历的过程可以用递归(recurrent),首先选取10张不同的牌(比如从红桃A~黑桃5),然后每次从这个组合里替换一张牌为更大的牌,按照你的方法计算新的分数。具体规则没看懂。最后遍历到方片K,所有的牌的组合都有了,所有的分数按照你的规则也都算出来了,那么最小的就有了。解决 无用评论 打赏 举报
悬赏问题
- ¥20 Cotex M3的调试和程序执行方式是什么样的?
- ¥20 java项目连接sqlserver时报ssl相关错误
- ¥15 一道python难题3
- ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
- ¥15 牛顿斯科特系数表表示
- ¥15 arduino 步进电机
- ¥20 程序进入HardFault_Handler
- ¥15 oracle集群安装出bug
- ¥15 关于#python#的问题:自动化测试
- ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题