Dada una pantalla de 7 segmentos con algunos segmentos encendidos y otros apagados, encuentre una secuencia de dígitos (0-9), de modo que después de alternar los segmentos correspondientes para cada dígito, todos los segmentos se apaguen.
Ejemplo
_
_ [3] => | [1] => [OFF]
_ |
Números y sus segmentos correspondientes:
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
Reglas
Codegolf ⊨ gana la entrada más corta.
Entrada
Una lista no vacía de segmentos que están activados, dada como
Una secuencia de números. Los segmentos están numerados de arriba a abajo, de izquierda a derecha; a partir de 0 o 1. Los números no necesitan estar en orden.
Un solo dígito de 7 bits. MSB / LSB no especificado (por lo tanto, puede elegir).
Se permiten caracteres no numéricos entre números (pero no es necesario que sean compatibles).
P.ej. para número 7
: 136
o 1010010
o0100101
Salida
Una secuencia de números que se "aplicarán" a la pantalla. No está restringido de ninguna manera, como el orden de los dígitos. P.ej. para el estado inicial correspondiente a número 1
, salidas válidas sería 1
, 111
, 010
, etc.
Una salida alternativa es un dígito de 10 bits (nuevamente, MSB / LSB es su elección). P.ej. para 1
como entrada, la salida sería 1000000000
o 0000000001
.
Algunas combinaciones tienen varias soluciones no repetitivas, por ejemplo. Los segmentos correspondientes a la letra mayúscula H
se pueden desactivar mediante 013
, pero también 489
y 0258
.
Si no existe una solución (que creo que no es posible), la salida está vacía.
301
para H
).
17
, 08
, y 1479
. Las soluciones para los segmentos verticales superiores, de izquierda a derecha, son 39
y 59
. Las soluciones para los segmentos verticales inferiores, de izquierda a derecha, son 56
y 2389
.
2
no siempre es necesario, porque puede reemplazarlo con cualquiera 0468
, 1358
o 1369
, dependiendo de si desea un 0
, 8
o 9
en su respuesta, pero no hay forma de eliminarlo 7
, y creo que debe tener al menos uno de 1
y 3
.