Wprowadzenie
Zobaczmy następującą sekwencję (nieujemne liczby całkowite):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ...
Weźmy na przykład pierwsze trzy liczby. To są 0, 1, 2
. Liczby użyte w tej sekwencji można uporządkować na sześć różnych sposobów:
012 120
021 201
102 210
Powiedzmy, że F (3) = 6 . Innym przykładem jest F (12) . Zawiera liczby:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Lub konkatenowana wersja:
01234567891011
Aby znaleźć liczbę sposobów na zmianę tego, najpierw musimy spojrzeć na długość tego ciągu. Długość tego ciągu wynosi 14
. Obliczamy więc 14! . Jednak na przykład te mogą wymieniać miejsca bez zakłócania końcowego ciągu. Są 2 zera, więc są 2! sposoby na zmianę zer bez zakłócania porządku. Są też 4, więc są 4! sposoby na zmianę tych. Dzielimy sumę przez te dwie liczby:
To ma 14! / (4! × 2!) = 1816214400 sposobów na uporządkowanie ciągu 01234567891011
. Możemy zatem stwierdzić, że F (12) = 1816214400 .
Zadanie
Biorąc pod uwagę N , wyjście F (N) . Dla tych, którzy nie potrzebują wprowadzenia. Aby obliczyć F (N), najpierw konkatenujemy pierwsze N nieujemnych liczb całkowitych (np. Dla N = 12 łączący ciąg byłby 01234567891011
) i obliczamy liczbę sposobów ułożenia tego ciągu.
Przypadki testowe
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
Uwaga
Obliczenie odpowiedzi musi zostać obliczone w terminie 10 sekund , brutalne wymuszanie jest niedozwolone .
To jest golf golfowy , więc wygrywanie z najmniejszą ilością bajtów wygrywa!
10
cyfry to 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
. Dziesięć różnych cyfr, więc wynik to 10 !.
0
sprawa odrzuciła moje odliczanie (głupie puste struny).
F(N)
nie jest O(N!)
i że log F(N)
jest O(log N!)
, ale to są tylko garbi ...
10
prawidłowe? Wydaje się, że powinno być mniej niż 10 !, ponieważ od tego zaczynają się powtarzające się cyfry.