出于这个问题的目的,用这种方式格式化一副纸牌:
[
"AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS",
"AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD",
"AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH",
"AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC", "QC", "KC",
"J", "J"
]
卡总是格式化为值,后跟西装。例如,AS
是黑桃王牌。两个单身的J是小丑。我们要洗牌,但是洗牌必须是Superb™。
Superb Shuffle™是其中一种:
- 没有两张相同西装的纸牌(小丑除外)相邻。
- 没有一张纸牌(小丑除外)与相同值的一张纸牌相邻。
- 没有纸牌(小丑除外)与相邻值之一(此顺序为高,低1,A,2、3、4、5、6、7、8、9、10,J,Q,K, A.请注意,A不能与2或King相邻。
- 小丑可以在任何位置。
- Superb Shuffle™的定义不要求每次洗牌时的卡顺序都不同。并不是很好,但是是Superb™。
因为那是Superb™。
一个示例可能是:
[
"AS", "5D", "9H", "KC", "2D", "6H", "10C", "QS", "3H", "7C", "9S",
"KD", "4C", "6S", "10D", "AC", "3S", "7D", "JH", "J", "4D", "8H",
"QC", "AD", "5H", "9C", "JS", "2H", "6C", "8S", "QD", "3C", "5S",
"9D", "KH", "2S", "6D", "10H", "J", "3D", "7H", "JC", "KS", "4H",
"8C", "10S", "AH", "5C", "7S", "JD", "2C", "4S", "8D", "QH"
]
挑战:
- 编写一些代码以执行出色的混洗
- 使用任何语言。
- 输入可以是任一:
- 如上所述的一副纸牌,其顺序与数组或其他列表结构相同。
- 无输入(代码按该顺序生成一副纸牌)
- 如上所述,输出必须是Superb Shuffle™中的一整套纸牌。
- 尝试以最少的字节数执行Superb Shuffle™。
- 首选连接到在线解释器,例如“ 在线试用”,但它是可选的。
快乐的洗牌!
T
代替10
吗?