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!
10cyfry to 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Dziesięć różnych cyfr, więc wynik to 10 !.
0sprawa 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 ...
10prawidłowe? Wydaje się, że powinno być mniej niż 10 !, ponieważ od tego zaczynają się powtarzające się cyfry.