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: 136ou 1010010ou0100101
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 1como entrada, a saída seria 1000000000ou 0000000001.
Algumas combinações têm várias soluções não repetitivas, por exemplo. os segmentos correspondentes à letra maiúscula Hpodem ser desativados por 013, mas também 489e 0258.
Se não existir uma solução (que eu acredito que não seja possível), a saída está vazia.
301para H).
17, 08e 1479. As soluções para os segmentos verticais superiores, da esquerda para a direita, são 39e 59. As soluções para os segmentos verticais inferiores, da esquerda para a direita, são 56e 2389.
2nem sempre é necessário, porque você pode substituí-lo com qualquer um 0468, 1358ou 1369, dependendo se você quer um 0, 8ou 9em sua resposta, mas não há nenhuma maneira de eliminar 7a todos, e eu acho que você tem que ter pelo menos um de 1e 3.