Hàng rào gỗ
Đề bài
Mô tả
Một công ty sản xuất ván gỗ để làm hàng rào. Có loại ván; ván loại là một khối chữ nhật kích thước (chiều dài chiều rộng). Bạn có thể đặt bao nhiêu ván tùy ý của mỗi loại.
Khi ghép ván vào hàng rào, bạn được phép xoay ván (đổi chỗ chiều dài và chiều rộng cho nhau). Tuy nhiên ván vuông (ván có ) thì không được xoay.
Cần dựng một hàng rào có tổng chiều dài đúng bằng (tổng chiều dài của tất cả các ván trong hàng rào). Một hàng rào được gọi là đẹp nếu thỏa mãn cả hai điều kiện sau:
- Không có hai ván liên tiếp cùng loại.
- Ván đầu tiên có chiều dài tùy ý; với mỗi ván kể từ ván thứ hai, chiều dài của nó bằng chiều rộng của ván liền trước.
Hai hàng rào được coi là khác nhau nếu dãy loại ván hoặc dãy trạng thái xoay của chúng khác nhau.
Hãy đếm số hàng rào đẹp có tổng chiều dài đúng bằng . Vì kết quả có thể rất lớn, in ra kết quả theo modulo .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, dòng thứ chứa hai số nguyên và là kích thước ván loại .
Dữ liệu ra
- Một số nguyên duy nhất: số hàng rào đẹp có tổng chiều dài , theo modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 3 1 2 2 3 |
2 | Có hai cách: (1) Ván loại 1 dài 1 rộng 2, rồi ván loại 2 dài 2 rộng 3, tổng chiều dài . (2) Một ván loại 2 sau khi xoay: dài 3 rộng 2, tổng chiều dài 3. |
| 1 2 2 2 |
1 | Ván vuông không xoay được. Chỉ có cách dùng đúng một ván này, chiều dài 2. Không thể ghép hai ván cùng loại liên tiếp. |
| 6 6 2 1 3 2 2 5 3 3 5 1 2 1 |
20 | Có tất cả 20 hàng rào đẹp với tổng chiều dài 6. |
Bình luận