trang chủ / đề bài / thhv19_cpt_11_a

Chia kẹo

Đề bài

Mô tả

Buổi học toán hôm nay, Alice được dạy về bài toán chia kẹo, bài toán này được phát biểu như là có bao nhiêu cách chia k chiếc kẹo cho m em bé. Vì học được bài mới Alice hí hửng đi khoe Bob về bài toán này. Tuy nhiên Bob đã đọc bài này trước đó nên muốn đố Alice một bài toán khó hơn: Có bao nhiêu cách chia k chiếc kẹo cho m em bé mà không có em nào nhận được số kẹo lớn hơn hoặc bằng n chiếc.

Alice loay hoay mãi vẫn chưa giải được bài toán này, bạn hãy giúp Alice nhé.

Các chiếc kẹo giống hệt nhau, còn các em bé được phân biệt với nhau; phải chia hết cả k chiếc kẹo. Một cách chia là một bộ (x1,x2,…,xm) với xi là số kẹo em bé thứ i nhận được; hai cách chia khác nhau nếu có ít nhất một em bé nhận số kẹo khác nhau.

Yêu cầu: Tính số cách chia k chiếc kẹo cho m em bé sao cho mỗi em bé nhận được số kẹo trong khoảng [0,n−1], tức là số bộ số nguyên (x1,x2,…,xm) thỏa mãn 0≤xi≤n−1 và x1+x2+…+xm=k.

Dữ liệu vào

  • Dòng đầu tiên: số nguyên T là số bộ test (1≤T≤10).
  • T dòng sau, mỗi dòng gồm 3 số nguyên dương n,m,k với k là số chiếc kẹo, m là số em bé và các em bé chỉ được nhận số kẹo trong khoảng [0,n−1].

Dữ liệu ra

Gồm T dòng, mỗi dòng là kết quả của bộ test tương ứng lấy dư cho 998244353.

Ràng buộc

  • 1≤T≤10.
  • 1≤n,m,k≤105.

Subtasks

  • Subtask 1 (20% số test): n,m,k≤100.
  • Subtask 2 (30% số test): n=2, m≤105, k≤105.
  • Subtask 3 (50% số test): n,m,k≤105.

Ví dụ

Input Output Giải thích
2
3 3 3
2 5 4
7
5
Bộ test đầu tiên có 7 cách chia là (1,1,1), (0,1,2), (0,2,1), (1,2,0), (2,1,0), (1,0,2), (2,0,1). Bộ test thứ hai: mỗi em nhận 0 hoặc 1 chiếc, chọn 4 trong 5 em nhận kẹo, có 5 cách.
3
1 4 3
100000 1 100000
4 2 6
0
0
1
Ví dụ bổ sung (không có trong đề gốc). Với n=1 không em nào được nhận kẹo nên không chia được 3 chiếc. Một em bé không thể nhận 100000≥n chiếc. Hai em mỗi em nhiều nhất 3 chiếc: chỉ có cách (3,3).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0