La description
Étant donné une longueur n
et une taille d'alphabet k>0
, votre programme doit déterminer le nombre de chaînes avec ces paramètres qui ont un nombre maximal de sous-chaînes uniques. Dans le cas de k=2
, cela génère OEIS A134457 .
Exemple
Par exemple, 2210
a les sous - chaînes ,
2
, 22
, 221
, 2210
, 2
, 21
, 210
, 1
, 10
et 0
, pour un total de 11. Toutefois, 2
apparaît deux fois, il n'a que 10 sous - chaînes uniques.
C'est autant que possible pour une chaîne de longueur 4 contenant 3 symboles différents, mais elle est liée à 35 autres chaînes pour un total de 36 chaînes de liaison 0012
, y compris 2101
, et 0121
. Par conséquent, pour n=4
et k=3
, votre programme devrait afficher 36.
Cas de test
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
la source
la source
n=2
,k=3
sortie 911,12,21,22,31,32,33,13,23
:?Réponses:
Gelée , 9 octets
Essayez-le en ligne!
Saisie dans l'ordre inverse. Force brute.
la source
ṗẆQ$€ZṪL
Pyth, 12 octets
Essayez-le en ligne.
Force brute pure.
Explication
Q
au programme.n
) dansQ
.E
: lire et évaluer une ligne d'entrée (k
).U
: obtenir une gamme[0, ..., k-1]
.^
: obtenir desn
chaînes de toutes longueurs[0, ..., k-1]
..M
: trouvez ceux qui donnent un maximum de fonctionf(Z)
:.:Z
: trouver les sous-chaînes deZ
{
: supprimer les doublonsl
: obtenir le nombre de sous-chaînes uniquesl
: obtenir le nombre de telles chaînesla source
Mathematica, 96 octets
la source
Haskell, 82 octets
Exemple d'utilisation:
9 # 2
->40
.Comment ça fonctionne:
la source