[RCOJ Educational Contest #01] Tổ hợp
Xem dạng PDF
Gửi bài giải
Điểm:
800,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Tổ hợp là cách chọn một tập hợp con gồm ~k~ phần tử từ một tập hợp lớn gồm ~n~ phần tử, mà không quan tâm đến thứ tự sắp xếp của các phần tử đã chọn.
Bạn hãy tính giá trị của ~C(k, n)~ ~mod~ ~m~, tức là giá trị của tổ hợp chập ~k~ của ~m~ lấy theo modulo ~m~.
Yêu cầu: Tính ~C(k,n)~ ~mod~ ~m~ = ~\frac{n!}{k!*(k-n)!}~ ~mod~ ~m~.
Input
Nhập vào ba số tự nhiên ~k,n,m~ (~k,n,m \leq 2000~).
Output
Một số tự nhiên duy nhất, là giá trị ~C(k,n)~ ~mod~ ~m~.
Scoring
- Subtask ~1~ ~(40\%)~: ~k,n,m \leq 20~;
- Subtask ~2~ ~(60\%)~: ~k,n,m \leq 2000~.
Example input 1
5 2 10
Example output 1
0
Note 1
~C(5,2)=\frac{5!}{2!*(5-2)!}=\frac{5!}{2!*3!}=10~.
~C(5,2)~ ~mod~ ~10~ ~=~ ~10~ ~mod~ ~10~ ~=~ ~0~.
Bình luận