Descripción
Dada una longitud n
y 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, 2210
tiene 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=4
yk=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=3
salida 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ṪL
Pyth, 12 bytes
Pruébalo en línea.
Pura fuerza bruta.
Explicación
Q
al programa.n
) enQ
.E
: lee y evalúa una línea de entrada (k
).U
: obtener un rango[0, ..., k-1]
.^
: obtenern
cadenas 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