Trồng cây
Đề bài
Mô tả
Một công viên mới rất đẹp vừa được xây dựng ở Hà Nội. Harry được giao nhiệm vụ trồng cây trong công viên.
Công viên có thể hình dung như một lưới gồm hàng và cột. Các hàng được đánh số từ đến từ trên xuống dưới, các cột được đánh số từ đến từ trái sang phải. Ký hiệu ô ở hàng , cột là .
Harry cần trồng đúng cây sao cho mỗi hàng và mỗi cột có đúng một cây.
Lối vào công viên ở ô và lối ra ở ô , nên Harry không được trồng cây ở ô này. Hơn nữa, phải tồn tại một đường đi từ lối vào đến lối ra mà khách tham quan chỉ cần đi sang phải hoặc đi xuống. Hiển nhiên khách không thể đi qua ô có cây.
Một số ví dụ với (T là ô có cây, dấu chấm là ô trống):
. . . T T . . . . T . . . . . T
. . T . . . . T T . . . . T . .
. . T . . . T . . . . T . . T .
T . . . . . . . . . T . T . . .
(1) (2) (3) (4)
- Công viên (1) không hợp lệ vì cột có cây.
- Công viên (2) không hợp lệ vì ô có cây và chỉ có cây.
- Công viên (3) không hợp lệ vì không thể đi từ đến chỉ bằng các bước sang phải hoặc xuống.
- Công viên (4) hợp lệ.
Hãy giúp Harry đếm số công viên hợp lệ. Hai công viên được coi là khác nhau nếu có ít nhất một cây ở vị trí khác nhau trong hai công viên.
Dữ liệu vào
- Dòng đầu tiên chứa một số nguyên () là số bộ dữ liệu.
- dòng tiếp theo, mỗi dòng chứa một số nguyên ().
Dữ liệu ra
In ra đúng dòng, mỗi dòng là số cách trồng cây thỏa mãn mọi điều kiện. Vì kết quả có thể rất lớn, hãy in ra phần dư khi chia cho .
Ràng buộc
- .
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 2 3 4 |
0 0 2 12 |
Với và không có cách nào. Với , hai cách hợp lệ là trồng cây ở các ô hoặc . Ví dụ trong đề gốc ghi nhưng có giá trị ; ở đây sửa thành . |
| 3 5 6 7 |
70 464 3498 |
Bình luận