JOI 2018 - Tents

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1900 (p) Thời gian: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

JOI-kun quản lý một khu cắm trại được chia thành lưới chữ nhật gồm \(H\) hàng và \(W\) cột. Các hàng chạy theo hướng đông-tây, các cột chạy theo hướng bắc-nam. Ô ở hàng thứ \(i\) tính từ phía bắc và cột thứ \(j\) tính từ phía tây được gọi là ô \((i,j)\).

JOI-kun muốn dựng một số lều. Mỗi lều chiếm đúng một ô, và không có hai lều chiếm cùng một ô. Mỗi lều có đúng một cửa ra vào, hướng về một trong bốn phía bắc, nam, đông hoặc tây. Hướng cửa phải thỏa mãn:

  • Nếu cả hai ô \((i_1,j)\)\((i_2,j)\), với \(1 \le i_1 < i_2 \le H\)\(1 \le j \le W\), đều có lều, thì cửa lều ở \((i_1,j)\) phải hướng nam, còn cửa lều ở \((i_2,j)\) phải hướng bắc.
  • Nếu cả hai ô \((i,j_1)\)\((i,j_2)\), với \(1 \le i \le H\)\(1 \le j_1 < j_2 \le W\), đều có lều, thì cửa lều ở \((i,j_1)\) phải hướng đông, còn cửa lều ở \((i,j_2)\) phải hướng tây.

Hãy đếm số cách dựng ít nhất một lều thỏa mãn các điều kiện trên, lấy dư cho \(1\,000\,000\,007\). Hai cách khác nhau nếu có một ô mà trạng thái khác nhau: có hay không có lều, hoặc hướng cửa lều khác nhau.

Dữ liệu vào

Một dòng chứa hai số nguyên \(H,W\).

Dữ liệu ra

In số cách dựng ít nhất một lều thỏa mãn điều kiện, lấy dư cho \(1\,000\,000\,007\).

Ràng buộc

  • \(1 \le H \le 3\,000\).
  • \(1 \le W \le 3\,000\).

Phân nhóm

  1. \(48\) điểm: \(1 \le H \le 300\)\(1 \le W \le 300\)
  2. \(52\) điểm: Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
1 2
Output
9
Giải thích

Ký hiệu lều có cửa hướng đông, tây, nam, bắc lần lượt bằng E, W, S, N. Có chín cách dựng lều như hình sau; ô trống là ô không có lều.

Ví dụ 2

Input
4 3
Output
3252

Ví dụ 3

Input
100 100
Output
561068619

Nguồn

JOI 2018 Spring Training Camp, ngày 1 - Tents (tiếng Anh). Bản tiếng Nhật.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: