내가 어렸을 때 배운 첫 번째 마술 카드 트릭은 다음과 같습니다.
- 뒷면의 패턴이 세로 대칭이 아닌 곳에 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
합니다.
- 대문자를 선택하면 (
- 이것은 code-golf 이며 우승자는 가장 낮은 바이트입니다.