计算某些子集具有不同值的列表的最小和

时间:2019-11-24 23:00:27

标签: python algorithm recursion set subset

我试图用python重新创建纸牌游戏“五冠王”,但遇到一个棘手的算法问题,无法计算出手的分数。评分基本上是这样的:

  

与游戏“十三点三分”中一样,玩家使用小丑和当前回合的通配符作为荒野来创建3个或更多的集合或游戏。每个回合都有一个不同的通配符(3张牌中的3,4张牌中的4,5张牌中的5,依此类推,直到国王在13张牌中变为野生)。

更多信息-> https://en.wikipedia.org/wiki/Five_Crowns_(game)

每组3张或更多的棋牌价值0分,每3张或3张以上的棋子价值0分,您的得分是您手中牌的总和。 (王牌(1)到国王(13)和未使用的小丑(50))

e.g. with a hand of [1, 3, 4, 6, 7, 11]

 - The wild card is 6
 - Score would be 18
    - Run of 1, 6, 3, 4 = 0 
    - 7
    - 11
e.g. with a hand of [2, 2, 8, 11, 12, 13, 50, 50]

 - The wild card is 8
 - Score would be 0
   - Run of 8, 11, 12, 13 = 0 
   - Set of 2, 2, 50, 50 = 0

我不知道如何解决这个问题。是否有类似的算法?

感谢所有建议!

0 个答案:

没有答案