Tìm số dãy không giảm có thể tạo

Mọi người giúp em với, em chưa tưởng tượng ra được bài này làm như nào ạ.

https://en.wikipedia.org/wiki/Stars_and_bars_(combinatorics) định lý thứ 2 :V

số stars = input k (độ dài dãy)
số bars = input n - input m (hơi khó giải thích :V)

đáp số = tổ hợp chập k của (k + n - m) phần tử

ví dụ
input 2 4 2 thì k = 2, n - m = 4 - 2 = 2, đáp số = tổ hợp chập 2 của 4 phần tử = 6
bài toán ứng với:
★★|| = 2 2 (2 số 2, 0 số 3, 0 số 4)
★|★| = 2 3 (1 số 2, 1 số 3, 0 số 4)
★||★ = 2 4 (1 số 2, 0 số 3, 1 số 4)
|★|★ = 3 4 (0 số 2, 1 số 3, 1 số 4)
||★★ = 4 4 (0 số 2, 0 số 3, 2 số 4)
|★★| = 3 3 (0 số 2, 2 số 3, 0 số 4)
2 thanh bar ngăn cách thành 3 miền: x|y|z, mỗi miền có label là giá trị 2, 3, 4. Số lượng sao ở mỗi miền là số lượng số có giá trị ứng với miền đó: ★|★| thì 1 số 2, 1 số 3, 0 số 4.

input 2 4 3 thì k = 3, n - m = 2, đáp số = tổ hợp chập 3 của 5 phần tử = 10

input 2 4 4 thì k = 4, n - m = 2, đáp số = tổ hợp chập 4 của 6 phần tử = 15

lười vẽ sao quá :V

edit: chưa khuya nhưng có thể gọi bài này là “đã khuya rồi vẫn ngồi đếm sao” ko :rofl:

7 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?