[问题] 13张牌的题目

楼主: sgcob187575 (dteproof)   2018-04-10 08:43:10
请问下面题目2-2要按照规则自动产生前中后墩,有没有人能提供算法,我毫无头绪。
题目: 一组玩家(人)牌跟三组电脑(程式)牌比赛,计算胜负(得失分),自行设定游戏中一墩
的分数 (20分)
程式选项:
(1) 重新开始(重设开始积分)
(1-1) 一组玩家(人)选择使用哪一组牌
(2) 继续下一回
(2-1)扑克牌52张洗牌后,分四组牌各13张(三组给电脑,一组给玩家)
(2-2)玩家(人)以及电脑(程式)各自根据13张规则排出自己的牌组(牌组必须按照规定 前
墩三张,中墩五张,后墩五张。后墩必须大于等于中墩,中墩必须大于等于前墩,否则视
为三墩全输)
(2-3) 四组牌比赛,计算得失分(自行设定游戏中一墩的分数)
(3) 不玩了
13张游戏规定:
牌组规定:
前墩三张,中墩五张,后墩五张
后墩 必须大于等于 中墩
中墩 必须大于等于 前墩
否则视为三墩全输
牌型大小: 一条龙>同花顺>铁枝>葫芦>同花>顺子>三条>两对>对子>散牌
花色大小:黑桃>红心>方块>梅花
数字大小 A>K>Q>J>10>9>8>7>6>5>4>3>2
作者: pttworld (批踢踢世界)   2018-04-10 21:11:00
没有要最佳的话,特殊牌先找再贪婪从尾堵最大找
作者: LPH66 (-6.2598534e+18f)   2018-04-11 09:45:00
先不管程式怎么写, 给你 13 张牌要你自己随便组一个出来你先把你自己分组的方式逐步写下来再来考虑写成程式说随便组是因为反正你只要组一组出来, 会不会赢不管
作者: ddavid (谎言接线生)   2018-04-11 18:10:00
基本上十三张的分堆本来就没有最佳解,所以单纯greedy找最大的开始分,符合条件就够了简单讲就是13张拿来从最大的牌型开始找看存不存在,找到存在的最大五张牌型就分成第一墩,从剩下8张再重跑一次同样搜寻,找到就是第二墩的五张,剩下三张自然成墩就好
作者: pttworld (批踢踢世界)   2018-04-11 18:54:00
特殊牌要看经验,头冲三或A胚挂K头或刁双同花都安全
作者: ddavid (谎言接线生)   2018-04-12 15:38:00
这题目并没有要求更佳打牌策略,就无视吧XD

Links booklink

Contact Us: admin [ a t ] ucptt.com