Khi thực hiện n lần fork() liên tiếp, ta được một cây tiến trình. Một tiến trình ở đời thứ k là tiến trình cách tiến trình gốc đúng k bước fork (gốc là đời 0, con trực tiếp là đời 1, cháu là đời 2, ...).
Số tiến trình ở đời thứ k đúng bằng số tổ hợp:
(kn)=k!(n−k)!n!
(Lý do: một tiến trình ở đời k ứng với việc chọn k trong n lời fork mà nó "tham gia tạo nhánh".)
Cho n và k, hãy tính C(n, k). Nếu k > n, kết quả là 0.
Ví dụ I/O: n = 3, k = 2 → số cháu = C(3,2) = 3.
Hai số nguyên n và k trên một dòng, cách nhau bởi dấu cách.
0 <= n <= 62, 0 <= k <= 62
Một số nguyên: C(n, k).
Ví dụ:
Đầu vào:
3 2
Đầu ra:
3
Giải thích:
Đang tải editor...