Giới thiệu
Hãy quan sát chuỗi sau (số nguyên không âm):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ...
Ví dụ: hãy lấy ba số đầu tiên . Đây là 0, 1, 2
. Các số được sử dụng trong chuỗi này có thể được sắp xếp theo sáu cách khác nhau:
012 120
021 201
102 210
Vì vậy, hãy nói rằng F (3) = 6 . Một ví dụ khác là F (12) . Điều này chứa các số:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Hoặc phiên bản nối:
01234567891011
Để tìm số cách sắp xếp lại thứ này, trước tiên chúng ta cần xem xét độ dài của chuỗi này. Độ dài của chuỗi này là 14
. Vì vậy, chúng tôi tính toán 14! . Tuy nhiên, ví dụ những người có thể trao đổi địa điểm mà không làm gián đoạn chuỗi cuối cùng. Có 2 số không, vì vậy có 2! cách để hô hào các số 0 mà không làm gián đoạn trật tự. Cũng có 4 cái, nên có 4 cái! cách để chuyển đổi những cái. Chúng tôi chia tổng số cho hai số này:
Cái này có 14! / (4! × 2!) = 1816214400 cách sắp xếp chuỗi 01234567891011
. Vậy ta có thể kết luận rằng F (12) = 1816214400 .
Nhiệm vụ
Cho N , đầu ra F (N) . Đối với những người không cần giới thiệu. Để tính F (N), trước tiên chúng ta ghép nối các số nguyên không âm N đầu tiên (ví dụ: N = 12, chuỗi được nối sẽ là 01234567891011
) và tính số cách sắp xếp chuỗi này.
Các trường hợp thử nghiệm
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
chú thích
Việc tính toán câu trả lời phải được tính toán trong thời gian giới hạn là 10 giây , vũ phu không được phép .
Đây là môn đánh gôn , vì vậy bài nộp có số byte ít nhất sẽ thắng!
10
chữ số đầu tiên là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
. Mười chữ số khác nhau, vì vậy kết quả là 10!.
0
trường hợp đã làm tôi thất vọng (chuỗi trống ngu ngốc).
F(N)
không phải là O(N!)
và đó log F(N)
là O(log N!)
nhưng đó chỉ là những linh cảm ...
10
chính xác? Cảm giác như nó phải nhỏ hơn 10!, Vì đó là nơi các chữ số lặp lại bắt đầu.