El truco de magia de 5 cartas involucra a un mago cuyo asistente les da 4 cartas mostradas y una oculta, en este orden, y el mago debe adivinar la oculta.
ADVERTENCIA: ¡Solución a continuación! Vete ahora o déjate mimar con él.
La solución
¡El truco aquí es que las cinco cartas se dan en un orden específico !
son las 5 cartas en el orden dado.
es el número de tarjeta de en(orden de números).
, donde es un número de tarjeta es un número entero, es igual al número de tarjeta pasos a la derecha de en , ajustando al principio si es necesario.
es el traje de en (orden del traje).
, donde es un número de tarjeta es un palo, denota la tarjeta con el número de tarjeta y el palo .
, donde y son las tarjetas, es cierto si 's traje es a la izquierda de ' s traje en , o sus trajes son iguales y 's número de tarjeta es a la izquierda de ' s número de tarjeta en .
, donde y son cartas, es verdadero si es falso.
, donde , y son las tarjetas, es el índice de permutación de este orden de ellos, especificado por la tabla siguiente:
La solución al truco de magia de 5 cartas es el problema:
El reto
Hasta aquí todo bien. Sin embargo, hacer el cálculo especificado anteriormente ya se solicita aquí . En cambio, su desafío es, dadas las 5 cartas sin un orden específico, ordenarlas correctamente. Esto significa que las primeras cuatro cartas en la salida representarán la quinta. En otras palabras, ser el asistente. Requisitos:
- .
- (es decir, esto debe ser posible).
Ejemplo
Consideremos el conjunto 7H,2D,6D,5C,6C
. En primer lugar, tomamos los 25 pares:
7H,7H 7H,2D 7H,6D 7H,5C 7H,6C
2D,7H 2D,2D 2D,6D 2D,5C 2D,6C
6D,7H 6D,2D 6D,6D 6D,5C 6D,6C
5C,7H 5C,2D 5C,6D 5C,5C 5C,6C
6C,7H 6C,2D 6C,6D 6C,5C 6C,6C
Luego, obviamente eliminamos los 5 pares que contienen la misma carta dos veces, no existen en un solo mazo:
7H,2D 7H,6D 7H,5C 7H,6C
2D,7H 2D,6D 2D,5C 2D,6C
6D,7H 6D,2D 6D,5C 6D,6C
5C,7H 5C,2D 5C,6D 5C,6C
6C,7H 6C,2D 6C,6D 6C,5C
Luego, dado que los trajes deben ser iguales, diferentes trajes en un par es un no-no:
2D, 6D 6D, 2D 5C, 6C 6C, 5C
Finalmente, verificamos si es posible pasar de la primera carta a la segunda agregando como máximo 6, eliminando la mitad de los pares restantes:
2D, 6D 5C, 6C
Ahora tenemos los pares válidos: 2D,6D
y 5C,6C
. La primera carta de cada par es la carta 1, mientras que la última es la carta 5.
Vamos a ir 5C,6C
aquí por facilidad. Todo el conjunto es 7H,2D,6D,5C,6C
, por lo tanto, eliminar las 2 cartas del par que hemos elegido, tenemos 7H,2D,6D
. Estas cartas representarán 6 - 5 = 1
, así que tenemos que ordenarlas como "min, mid, max". 7H > 2D < 6D < 7H
, o simplemente 2D < 6D < 7H
, así que ahora tenemos 2D,6D,7H
.
El último paso es poner todo esto junto, para que nuestro resultado sea 5C,2D,6D,7H,6C
.
Aclaraciones
- Puede usar en
10
lugar deT
. - Puede usar uno de
♠♥♦♣
,♤♡♢♧
o en♠♡♢♣
lugar deCDHS
, respectivamente. - Este es el código de golf , el código más corto gana.
Casos de prueba
Puede generar una o más de las soluciones válidas incluidas para cada caso de prueba.
8S,TD,5C,QS,TS -> 8S,5C,QS,TD,TS
... 8S,TD,TS,5C,QS
... TS,5C,8S,TD,QS
JD,KH,4S,9D,8S -> 9D,KH,8S,4S,JD
... 4S,JD,KH,9D,8S
4H,4D,TH,KH,2C -> 4H,KH,4D,2C,TH
... TH,4D,2C,4H,KH
... KH,4D,TH,2C,4H
3S,KS,8S,KH,9H -> 9H,8S,KS,3S,KH
... 3S,KS,9H,KH,8S
... 8S,3S,9H,KH,KS
... KS,KH,9H,8S,3S
KH,TS,3C,7H,JD -> 7H,TS,JD,3C,KH
4C,KC,TD,JD,QS -> KC,JD,QS,TD,4C
... TD,4C,KC,QS,JD
AC,5H,8D,6D,8S -> 6D,AC,8S,5H,8D
AS,TC,3S,2H,9C -> 9C,2H,AS,3S,TC
... AS,9C,2H,TC,3S
4C,JS,AS,8H,JC -> JC,JS,AS,8H,4C
... JS,JC,4C,8H,AS
4H,QS,TH,QC,AC -> QC,4H,QS,TH,AC
... 4H,QS,QC,AC,TH