QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#1995. Vòi phun 2: Sự trở lại của cỏ linh lăng

Statistics

Farmer John có một cánh đồng nhỏ hình lưới $N$ nhân $N$ ($1 \le N \le 2000$), trong đó ô thứ $j$ từ trái sang của hàng thứ $i$ từ trên xuống được ký hiệu là $(i,j)$ với mọi $1 \le i,j \le N$. Ông muốn trồng ngô ngọt và cỏ linh lăng trên cánh đồng của mình. Để làm vậy, ông cần lắp đặt một số vòi phun đặc biệt.

Một vòi phun cho ngô ngọt đặt tại ô $(I,J)$ sẽ tưới tất cả các ô ở phía dưới bên trái: tức là các ô $(i,j)$ thỏa mãn $I \le i$ và $j \le J$.

Một vòi phun cho cỏ linh lăng đặt tại ô $(I,J)$ sẽ tưới tất cả các ô ở phía trên bên phải: tức là các ô $(i,j)$ thỏa mãn $i \le I$ và $J \le j$.

Một ô được tưới bởi một hoặc nhiều vòi phun cho ngô ngọt có thể trồng ngô ngọt; một ô được tưới bởi một hoặc nhiều vòi phun cho cỏ linh lăng có thể trồng cỏ linh lăng. Nhưng một ô được cả hai loại vòi phun tưới (hoặc không được loại nào tưới) thì không thể trồng gì.

Hãy giúp FJ xác định số cách (lấy modulo $10^9 + 7$) lắp đặt vòi phun trên cánh đồng, mỗi ô nhiều nhất một vòi, sao cho mọi ô đều có thể trồng cây (tức là được đúng một loại vòi phun tưới).

Một số ô đã có những con bò lông xù đứng trên đó; điều này không ngăn các ô ấy có thể trồng cây, nhưng không thể lắp vòi phun tại các ô đó.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên $N.$

Với mỗi $1\le i\le N,$ dòng thứ $i+1$ chứa một chuỗi độ dài $N$ mô tả hàng thứ $i$ của lưới. Mỗi ký tự của chuỗi là 'W' (chỉ một ô có bò lông xù) hoặc '.' (ô không có bò).

Dữ liệu ra

In ra phần dư khi chia số cách lắp đặt vòi phun cho $10^9+7.$

Ví dụ

Dữ liệu vào 1

2
..
..

Dữ liệu ra 1

28

Ghi chú

Dưới đây là tất cả mười bốn khả năng khi có thể trồng ngô ngọt tại $(1,1)$.

CC  .C  CA  CC  .C  CA  CA  C.  CA  C.  CC  .C  CC  .C  
CC, CC, CC, .C, .C, .C, CA, CA, .A, .A, C., C., .., ..

Dữ liệu vào 2

4
..W.
..WW
WW..
...W

Dữ liệu ra 2

2304

Ghi chú

Ví dụ này thỏa mãn các giới hạn của nhiệm vụ con đầu tiên được mô tả dưới đây.

Nhiệm vụ con

  • Các bộ kiểm thử 3–4 thỏa mãn $N\le 10$ và có nhiều nhất mười ô không có bò.
  • Các bộ kiểm thử 5–9 thỏa mãn $N\le 200$.
  • Các bộ kiểm thử 10–16 không có giới hạn bổ sung.

Tác giả bài toán: Benjamin Qi

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.