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

Dải trắng đen

Đề bài

Mô tả

Cuộc sống của Polycarpus trong n ngày tới sẽ diễn ra theo đúng quy luật: "đầu tiên là một dải trắng, sau đó là một dải đen, rồi lại một dải trắng". Anh ấy biết trước sẽ có w sự kiện tốt và b sự kiện xấu xảy ra, và mỗi ngày có ít nhất một sự kiện.

Mỗi ngày thuộc đúng một trong ba dải liên tiếp:

  • Dải trắng thứ nhất: gồm ít nhất 1 ngày, mỗi ngày chỉ có các sự kiện tốt.
  • Dải đen: gồm ít nhất 1 ngày, mỗi ngày chỉ có các sự kiện xấu.
  • Dải trắng thứ hai: gồm ít nhất 1 ngày, mỗi ngày chỉ có các sự kiện tốt.

Các sự kiện đôi một phân biệt, kể cả khi cùng loại. Các sự kiện diễn ra trong cùng một ngày cũng có thứ tự trước sau (không có hai sự kiện đồng thời). Hai kịch bản được coi là khác nhau nếu cách phân chia ngày vào các dải khác nhau, hoặc tập sự kiện của một ngày nào đó khác nhau, hoặc thứ tự sự kiện trong một ngày nào đó khác nhau.

Hãy đếm số kịch bản khác nhau có thể xảy ra trong n ngày, lấy phần dư khi chia cho 109+9.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên n, wb: số ngày, số sự kiện tốt và số sự kiện xấu.

Dữ liệu ra

In ra một số nguyên duy nhất: số kịch bản có thể, theo modulo 109+9.

Ràng buộc

  • 3n4000
  • 2w4000
  • 1b4000
  • w+bn

Ví dụ

Input Output Giải thích
3 2 1 2 Ký hiệu sự kiện tốt bằng số, sự kiện xấu bằng chữ cái, dấu gạch đứng ngăn cách các ngày. Hai kịch bản: "1|a|2" và "2|a|1".
4 2 2 4 Bốn kịch bản: "1|a|b|2", "2|a|b|1", "1|b|a|2" và "2|b|a|1". Dải đen chiếm hai ngày, mỗi ngày một sự kiện xấu.
3 2 2 4 Bốn kịch bản: "1|ab|2", "2|ab|1", "1|ba|2" và "2|ba|1". Hai sự kiện xấu cùng ngày nhưng thứ tự khác nhau tạo ra kịch bản khác nhau.

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