Descripción
Dada una longitud ny un tamaño de alfabeto k>0, su programa debe determinar el número de cadenas con esos parámetros que tienen un número máximo de subcadenas únicas. En el caso de k=2, esto genera OEIS A134457 .
Ejemplo
Por ejemplo, 2210tiene las subcadenas , 2, 22, 221, 2210, 2, 21, 210, 1, 10, y 0, para un total de 11. Sin embargo,2 aparece dos veces, por lo que sólo tiene 10 subcadenas únicas.
Este es el mayor número posible para una longitud de 4 cadena que contiene 3 símbolos diferentes, pero los lazos con otros 35 cuerdas para un total de 36 cuerdas tieing incluyendo 0012, 2101, y 0121. Por lo tanto, para n=4yk=3 , su programa debería generar 36.
Casos de prueba
n k output
0 5 1
1 3 3
5 1 1
9 2 40
2 3 6
5 5 120
code-golf
combinatorics
user1502040
fuente
fuente

n=2,k=3salida 911,12,21,22,31,32,33,13,23:?Respuestas:
Jalea , 9 bytes
Pruébalo en línea!
Entrada en orden inverso. Fuerza bruta.
fuente
ṗẆQ$€ZṪLPyth, 12 bytes
Pruébalo en línea.
Pura fuerza bruta.
Explicación
Qal programa.n) enQ.E: lee y evalúa una línea de entrada (k).U: obtener un rango[0, ..., k-1].^: obtenerncadenas de todas las longitudes de[0, ..., k-1]..M: encuentra los que dan un máximo para la funciónf(Z):.:Z: encontrar las subcadenas deZ{: eliminar duplicadosl: obtener el número de subcadenas únicasl: obtener el número de tales cadenasfuente
Mathematica, 96 bytes
fuente
Haskell, 82 bytes
Ejemplo de uso:
9 # 2->40.Cómo funciona:
fuente