Dado um display de 7 segmentos com alguns segmentos ativados e desativados, encontre uma sequência de dígitos (0-9), de modo que, após alternar os segmentos correspondentes para cada dígito, todos os segmentos sejam desativados.
Exemplo
_
_ [3] => | [1] => [OFF]
_ |
Números e seus segmentos correspondentes:
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
Regras
Codegolf - menor entrada ganha.
Entrada
Uma lista não vazia de segmentos ativados, fornecida como
Uma sequência de números. Os segmentos são numerados de cima para baixo, da esquerda para a direita; a partir de 0 ou 1. Os números não precisam estar em ordem.
Um único dígito de 7 bits. MSB / LSB não especificado (portanto, você pode escolher).
Caracteres não numéricos entre números são permitidos (mas não precisam ser suportados).
Por exemplo. para número 7
: 136
ou 1010010
ou0100101
Resultado
Uma sequência de números a serem "aplicados" ao visor. Não é restrito de forma alguma, como a ordem dos dígitos. Por exemplo. para o estado inicial correspondente ao número 1
, saídas válidas seria 1
, 111
, 010
, etc.
Uma saída alternativa é um dígito de 10 bits (novamente, MSB / LSB é sua escolha). Por exemplo. para 1
como entrada, a saída seria 1000000000
ou 0000000001
.
Algumas combinações têm várias soluções não repetitivas, por exemplo. os segmentos correspondentes à letra maiúscula H
podem ser desativados por 013
, mas também 489
e 0258
.
Se não existir uma solução (que eu acredito que não seja possível), a saída está vazia.
301
para H
).
17
, 08
e 1479
. As soluções para os segmentos verticais superiores, da esquerda para a direita, são 39
e 59
. As soluções para os segmentos verticais inferiores, da esquerda para a direita, são 56
e 2389
.
2
nem sempre é necessário, porque você pode substituí-lo com qualquer um 0468
, 1358
ou 1369
, dependendo se você quer um 0
, 8
ou 9
em sua resposta, mas não há nenhuma maneira de eliminar 7
a todos, e eu acho que você tem que ter pelo menos um de 1
e 3
.