Introdução
Você é um criminoso encarregado de roubar alguns planos secretos da nova startup de tecnologia Dejavu. Você entra pela parede dos fundos, mas encontra uma porta que requer um alfinete para abri-la. Você reconhece a marca da fechadura e sabe que é necessário um pino de 5 dígitos usando todos os números de 0 a 4. Após cada dígito digitado, a fechadura verifica os últimos 5 dígitos digitados e abre se o código estiver correto. Você precisa ultrapassar esse bloqueio e rápido.
Superpermutações em poucas palavras
Uma permutação é todas as combinações possíveis de um determinado conjunto de dígitos. por exemplo, todas as permutações dos dígitos 0, 1, 2 são:
012, 021, 102, 120, 201 e 210.
Se concatenarmos todas essas permutações juntas, obteremos uma superpermutação:
012021102120201210
essa superpermutação contém todas as permutações de 0, 1, 2, mas é possível diminuir uma delas. Vou pular um pouco aqui, mas a superpermutação mais curta desses dígitos é:
012010210
Para nossos propósitos e propósitos, essa é essencialmente a menor seqüência de dígitos que contém todas as permutações possíveis desses dígitos, ou seja, uma superpermutação.
Tarefa
Sua tarefa é um pouco mais difícil que o exemplo da superpermutação, como mostrado acima, porque você tem mais dois dígitos para se preocupar. - Se você não leu sobre superpermutações, ou se meu exemplo acima foi um pouco obscuro, sugiro que você leia este ótimo artigo de Patrick Honner sobre o assunto (esse desafio foi bastante inspirado em seu artigo, então parabéns a ele): https://www.quantamagazine.org/unscrambling-the-hidden-secrets-of-superpermutations-20190116/ . Seu objetivo é escrever o programa mais curto possível que gere uma superpermutação dos dígitos de 0 a 4.
Pontuação
Seu programa não recebe nenhum tipo de entrada e produz uma superpermutação dos dígitos de 0 a 4. Essa superpermutação resultante deve ser impressa no console ou exibida visivelmente ao usuário na extensão fornecida pelo seu idioma de escolha. Isso não precisa ser a permutação mais curta possível, apenas uma superpermutação válida. Por isso, o objetivo é escrever o programa mais curto com a superpermutação mais curta, portanto, você deve calcular sua pontuação da seguinte forma:
tamanho do arquivo (bytes) * comprimento da superpermutação gerada (dígitos)
por exemplo, se eu tivesse um programa de 40 bytes e minha superpermutação tiver 153 dígitos, minha pontuação será:
40 * 153 = 6120
como sempre, o objetivo é obter essa pontuação o mais baixa possível.
Modelo
Aqui está como você deve postar sua resposta:
Idioma | Ponto
link para código no ambiente de trabalho (se possível)
code snippet
explicação de código, etc.
Finalidades
Esta é uma das minhas primeiras perguntas neste site. Então, diga-me se estou perdendo alguma coisa ou se uma seção do meu desafio não está clara. Obrigado e divirta-se jogando golfe!