Le premier tour de carte magique que j'ai jamais appris étant enfant était le suivant:
- Avoir 1 jeu de cartes où le motif au dos n'est pas symétrique verticalement.
- Organisez toutes les cartes dans une seule direction.
- Demandez à un individu de "choisir une carte, n'importe quelle carte, de la mémoriser et de vous la rendre".
- Passez-le dans le deck (dans la mauvaise direction).
- Mélangez vigoureusement, donnant l'illusion que vous ne saurez pas où se trouve leur carte.
- Produisez leur carte à leur grand étonnement.
Cette astuce est de toute évidence un peu terne dans la nature de nos jours, mais elle constitue un bon défi. Écrivez un programme qui, sans aucune entrée, génère un jeu de cartes mélangé au hasard avec l'une des cartes, choisie au hasard, inversée. Cependant, lorsque l'entrée est un jeu de cartes avec une carte inversée, vous devez sortir la carte inversée (dans le bon ordre).
Le jeu de cartes
Un jeu de cartes est défini comme:
[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]
Une carte est définie comme son numéro, puis la première lettre de sa couleur. Le revers d'une carte est exactement le contraire, la première lettre de sa couleur suivie d'un chiffre.
La carte dessinée
Par exemple, si la carte que nous avons choisie au hasard pour inverser était la 4 of Clubs (4C)
, nous nous retrouverions avec (sans mélange, évidemment):
[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]
The Shuffling
Ensuite, après avoir mélangé:
[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]
Il s'agit d'une sortie valide avec une entrée vide.
L'entrée Deck
Cependant, inversement, lorsque notre programme reçoit la sortie ci-dessus en entrée, il devrait sortir 4C
. Soit pour une entrée de:
[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]
Vous parcourez jusqu'à ce que vous trouviez la carte inversée, et la retournez, retournée à l'état normal. Donc, ici, nous trouverions C4
, saurions que C n'est pas un nombre, et le renverrions comme 4C
, ce qui est correct.
Règles
- Vous ne pouvez pas charger la platine à partir de sources externes.
- Une entrée vide devrait se traduire par un jeu aléatoire au hasard avec 1 carte aléatoire inversée.
- Un jeu de cartes avec 1 carte inversée en entrée devrait donner la carte inversée.
- Toute autre entrée peut entraîner des lamas explosifs sur les segways à travers un tube futuriste.
- Ou toute autre chose, d'ailleurs.
- La carte choisie et l'ordre de mélange doivent être uniformément aléatoires.
- IE, toutes les cartes ont la même chance d'être sélectionnées pour être inversées.
- IE toutes les combinaisons de cartes ont une chance égale d'apparaître.
- Vous pouvez utiliser
SHCD
oushcd
pour les combinaisons, mais soyez cohérent:- Si vous choisissez des combinaisons majuscules (
SHCD
), vous devez également utiliserTJQKA
. - Si vous choisissez des combinaisons minuscules (
shcd
), vous devez également les utilisertjqka
.
- Si vous choisissez des combinaisons majuscules (
- C'est le code-golf , le gagnant est le nombre d'octets le plus bas.