trang chủ / bài tập / sumkways

Tổng

Đề bài

Mô tả

Cho một số nguyên dương S. Xét bài toán biểu diễn số S bằng tổng của các số nguyên dương phân biệt được chọn trong đoạn từ 1 đến N (mỗi số được sử dụng tối đa một lần).

Lưu ý: Hai cách biểu diễn được coi là khác nhau nếu và chỉ nếu tồn tại một số hạng có mặt trong cách này nhưng không có mặt trong cách kia. Ví dụ, xét các phương án biểu diễn số 7 là: 7=3+4=4+3=1+2+4.

  • Phương án 1 (3+4) và phương án 2 (4+3) không được xem là khác nhau vì chúng có chung tập các số hạng là {3,4}.
  • Phương án 3 (1+2+4) khác với hai phương án trên vì tập các số hạng của nó là {1,2,4}.

Yêu cầu: Bạn hãy tìm và in ra đúng K cách biểu diễn khác nhau cho bài toán trên.

Dữ liệu vào

  • Một dòng duy nhất chứa ba số nguyên dương N, K, S, các số được viết cách nhau bởi khoảng trắng.

Dữ liệu ra

  • In ra đúng K dòng, mỗi dòng là một phương án biểu diễn.
  • Trên mỗi dòng, ghi danh sách các số hạng của tổng cách nhau bởi khoảng trắng, và phải kết thúc bằng số 0.
  • Các số hạng trong cùng một dòng có thể được in ra theo thứ tự tùy ý. Các phương án biểu diễn cũng có thể in ra theo thứ tự tùy ý.
  • Dữ liệu đảm bảo rằng luôn có ít nhất K phương án biểu diễn hợp lệ thỏa mãn yêu cầu của bài toán.

Ràng buộc

  • 1N104.
  • 1S108.
  • 40% số test tương ứng 40% số điểm: K=1.
  • 30% số test tương ứng 30% số điểm: K=2.
  • 30% số test còn lại tương ứng 30% số điểm: K1000.

Ví dụ

Input Output Giải thích
6 4 10 1 2 3 4 0
1 3 6 0
4 6 0
2 3 5 0
Bốn cách khác nhau biểu diễn 10 bằng các số phân biệt từ 1 đến 6:
1+2+3+4=10,
1+3+6=10,
4+6=10,
2+3+5=10.
Số 0 ở cuối mỗi dòng là dấu hiệu kết thúc phương án.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0