Quà và hộp

Đề bài

Mô tả

Cho n loại quà khác nhau, mỗi loại có số lượng không giới hạn. Có m chiếc hộp đôi một phân biệt (ví dụ: mỗi hộp được ghi tên một người bạn). Cần đóng gói quà vào hộp theo hai quy tắc sau:

  • Trong cùng một hộp, không được có hai món quà cùng loại (mỗi hộp chỉ chứa một tập con của n loại quà; hộp rỗng được phép).
  • Mỗi loại quà phải xuất hiện ở ít nhất một hộp.

Hãy đếm số cách đóng gói quà thoả mãn. Vì kết quả có thể rất lớn, hãy in ra theo modulo 109+7.

Dữ liệu vào

Một dòng chứa hai số nguyên nm.

Dữ liệu ra

In ra một số nguyên — số cách đóng gói modulo 109+7.

Ràng buộc

  • 1n,m109

Ví dụ

Input Output Giải thích
1 3 7 1 loại quà và 3 hộp. Mỗi tập con không rỗng của 3 hộp đều cho một cách hợp lệ, tổng cộng 231=7 cách.
2 2 9 2 loại quà, mỗi loại có 221=3 cách chọn tập hộp không rỗng, nên đáp án là 3×3=9.
1 1 1 Chỉ có một cách: đặt loại quà duy nhất vào hộp duy nhất.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0