我正在编写一个小型纸牌游戏,其中两名玩家手中各有4张牌,并且他们必须根据点数尽可能多地拿走桌子上的牌。使用的是经典扑克牌,因此花色和点数相同。
King can only take another King
Queen can only take another Queen
Jack can only take another Jack
数字卡片可以通过求和来获取,例如:
10H takes 6C + 4S
5S takes 3C + 2D or 3S + 2D
7S takes 4S + 3S or 5C + 2D
And so on...
种子不重要,只有值才重要。但问题在于我需要计算唯一的组合。例如,我只想要那些种子和值完全相同的组合中的一个:
10H -> 6C + 4S
10H -> 4S + 6C
有没有预先制作的函数来完成这个任务?我试着在谷歌和维基百科上搜索,但可能我不知道这个算法/问题在英语中的名称。哦...我忘了...解决方案可以是任何你想要的(简单的、递归的、linq)。