Introducción
Eres un criminal encargado de robar algunos planes secretos de la nueva startup tecnológica Dejavu. Te escabulles por la pared del fondo, pero encuentras una puerta que requiere un alfiler para abrirla. Reconoce la marca de la cerradura y sabe que se necesita un pin de 5 dígitos con todos los números del 0 al 4. Después de ingresar cada dígito, la cerradura verifica los últimos 5 dígitos ingresados y se abre si el código es correcto. Tienes que pasar esta cerradura, y rápido.
Superpermutaciones en pocas palabras
Una permutación es todas las combinaciones posibles de un determinado conjunto de dígitos. por ejemplo, todas las permutaciones de los dígitos 0, 1, 2 son:
012, 021, 102, 120, 201 y 210.
Si concatenamos todas estas permutaciones juntas, obtenemos una superpermutación:
012021102120201210
Esta superpermutación contiene todas las permutaciones de 0, 1, 2, pero es posible hacer una más corta que esta. Voy a saltar un poco aquí, pero la superpermutación más corta de estos dígitos es:
012010210
Para nuestros propósitos y propósitos, esta es esencialmente la cadena de dígitos más corta que contiene todas las permutaciones posibles de esos dígitos, es decir, una superpermutación.
Tarea
Su tarea es un poco más difícil que el ejemplo de superpermutación como se muestra arriba, porque tiene dos dígitos más de los que preocuparse. - Si no ha leído sobre las superpermutaciones, o mi ejemplo anterior no está claro, le sugiero que lea este excelente artículo de Patrick Honner sobre el tema (este desafío fue muy inspirado por su artículo, así que felicitaciones a él): https://www.quantamagazine.org/unscrambling-the-hidden-secrets-of-superpermutations-20190116/ . Su objetivo es escribir el programa más corto posible que genere una superpermutación de los dígitos 0 a 4.
Tanteo
Su programa no recibe ningún tipo de entrada y produce una superpermutación de los dígitos de 0 a 4. Esta superpermutación resultante debe imprimirse en la consola o mostrarse visiblemente al usuario en la medida que lo indique su idioma de elección. Esto no tiene que ser la permutación más corta posible, solo tiene que ser una superpermutación válida. Debido a esto, el objetivo es escribir el programa más corto con la superpermutación más corta, por lo que debe calcular su puntaje de la siguiente manera:
tamaño de archivo (bytes) * longitud de superpermutación generada (dígitos)
por ejemplo, si tuviera un programa de 40 bytes y mi superpermutación tiene 153 dígitos, mi puntaje será:
40 * 153 = 6120
como siempre, el objetivo es obtener este puntaje lo más bajo posible.
Modelo
Así es como debe publicar su respuesta:
Idioma | Puntuación
enlace al código en el entorno de trabajo (si es posible)
code snippet
explicación del código, etc.
Finalidades
Esta es una de mis primeras preguntas en este sitio. Entonces, dígame si me falta algo o una sección de mi desafío no está clara. ¡Gracias y diviértete jugando al golf!