我小时候学到的第一个魔术纸牌技巧是:
- 有1张纸牌,背面的图案不是垂直对称的。
- 将所有卡组织成一个方向。
- 要求个人“拿起一张卡片,任何一张卡片,记住并退还给您”。
- 继续将其放入甲板(方向错误)。
- 大力洗牌,给人一种幻觉,即您不知道他们的牌在哪里。
- 出示他们的卡片使他们惊讶。
如今,这种技巧显然在本质上有些缺乏光泽,但是它却带来了巨大的挑战。编写一个程序,该程序在没有输入的情况下将输出随机洗牌的纸牌,其中一张纸牌是随机选择的,并且反转了。但是,如果输入的是一副纸牌,其中一张纸牌已反转,则必须输出反转的纸牌(以正确的顺序)。
卡片组
一副纸牌定义为:
[2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS,
2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD,
2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH,
2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC]
卡的定义是其号码,然后是其西装的第一个字母。卡片的反面正好相反,其西装的第一个字母后跟一个数字。
抽奖卡
例如,如果我们随机选择反转的牌是4 of Clubs (4C)
,我们最终会(显然没有混洗):
[2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS,
2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD,
2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH,
2C,3C,C4,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC]
洗牌
然后,在改组后:
[2H,2C,6S,4D,QH,6C,TD,8C,7H,5H,C4,3D,7S,7C,KC,QD,QC,JS,7D,6D,2S,5C,KD,3C,3S,2D,8H,KH,6H,AH,8S,JH,TS,AD,5D,9H,4H,JD,QS,4S,JC,3H,8D,TC,AS,TH,KS,AC,9C,9S,5S,9D]
给定空输入,这是有效的输出。
甲板输入
但是,相反,当我们的程序收到上述输出作为输入时,它应该输出4C
。也就是说,输入以下内容:
[2H,2C,6S,4D,QH,6C,TD,8C,7H,5H,C4,3D,7S,7C,KC,QD,QC,JS,7D,6D,2S,5C,KD,3C,3S,2D,8H,KH,6H,AH,8S,JH,TS,AD,5D,9H,4H,JD,QS,4S,JC,3H,8D,TC,AS,TH,KS,AC,9C,9S,5S,9D]
您反复进行遍历,直到找到反转的卡,然后将其返回,然后反转回到正常状态。因此,在这里我们将找到C4
,知道C不是数字,然后将其返回为4C
,这是正确的。
规则
- 您不得从任何外部来源加载卡座。
- 空的输入应导致随机洗牌的甲板,其中有1张随机卡片被撤消。
- 一副纸牌中有1张纸牌作为输入反转的结果应该会导致纸牌反转。
- 任何其他输入都会导致爆炸性的骆驼在未来派的电子管中骑行。
- 或其他任何事情。
- 所选卡和洗牌顺序必须一致地随机。
- IE浏览器所有卡都有被选择被撤销的同等机会。
- IE浏览器的所有组合卡都有相同的出现机会。
- 您可以使用
SHCD
或shcd
用于西装,但要保持一致:- 如果选择大写西装(
SHCD
),则还必须使用TJQKA
。 - 如果选择小写字母西服(
shcd
),则还必须使用tjqka
。
- 如果选择大写西装(
- 这是代码高尔夫球,获胜者是最低字节。