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.
10dígitos son 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Diez dígitos diferentes, por lo que el resultado es 10 !.
0caso 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 ...
10correcta? Parece que debería ser menos de 10 !, ya que ahí es donde comienzan los dígitos repetidos.