Introducción
Observemos la siguiente secuencia (enteros no negativos):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ...
Por ejemplo, tomemos los primeros tres números. Estos son 0, 1, 2
. Los números utilizados en esta secuencia se pueden ordenar de seis maneras diferentes:
012 120
021 201
102 210
Entonces, digamos que F (3) = 6 . Otro ejemplo es F (12) . Este contiene los números:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
O la versión concatenada:
01234567891011
Para encontrar la cantidad de formas de reorganizar esto, primero tenemos que mirar la longitud de esta cadena. La longitud de esta cadena es 14
. ¡Entonces calculamos 14! . Sin embargo, por ejemplo, los que pueden intercambiar lugares sin interrumpir la cadena final. ¡Hay 2 ceros, entonces hay 2! maneras de exhalar los ceros sin interrumpir el orden. También hay 4 unos, ¡así que hay 4! maneras de cambiar las Dividimos el total por estos dos números:
Esto tiene 14! / (4! × 2!) = 1816214400 formas de organizar la cadena 01234567891011
. Entonces podemos concluir que F (12) = 1816214400 .
La tarea
Dado N , salida F (N) . Para los que no necesitan la presentación. Para calcular F (N), primero concatenamos los primeros N enteros no negativos (por ejemplo, para N = 12, la cadena concatenada sería 01234567891011
) y calculamos el número de formas de organizar esta cadena.
Casos de prueba
Input: Output:
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
11 119750400
12 1816214400
13 43589145600
14 1111523212800
15 30169915776000
Nota
Calcular la respuesta debe calcularse dentro de un límite de tiempo de 10 segundos , no se permite la fuerza bruta .
Este es el código de golf , por lo que gana el envío con la menor cantidad de bytes.
10
dígitos son 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
. Diez dígitos diferentes, por lo que el resultado es 10 !.
0
caso estaba descartando mi cuenta (estúpidas cadenas vacías).
F(N)
no es O(N!)
y que log F(N)
es O(log N!)
, pero esos son sólo corazonadas ...
10
correcta? Parece que debería ser menos de 10 !, ya que ahí es donde comienzan los dígitos repetidos.