QOJ.ac

QOJ

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

#1995. Arroseurs 2 : Le retour de la luzerne

Statistics

Farmer John possède un petit champ en forme de grille de $N$ par $N$ cases ($1 \le N \le 2000$). Pour tous $1 \le i,j \le N$, la $j$-ième case en partant de la gauche dans la $i$-ième ligne en partant du haut est notée $(i,j)$. Il souhaite planter du maïs doux et de la luzerne dans son champ. Pour cela, il doit installer des arroseurs particuliers.

Un arroseur pour le maïs doux installé dans la case $(I,J)$ arrose toutes les cases situées en bas à gauche : c'est-à-dire les cases $(i,j)$ telles que $I \le i$ et $j \le J$.

Un arroseur pour la luzerne installé dans la case $(I,J)$ arrose toutes les cases situées en haut à droite : c'est-à-dire les cases $(i,j)$ telles que $i \le I$ et $J \le j$.

Une case arrosée par un ou plusieurs arroseurs pour le maïs doux peut produire du maïs doux ; une case arrosée par un ou plusieurs arroseurs pour la luzerne peut produire de la luzerne. Cependant, une case arrosée par les deux types d'arroseurs (ou par aucun des deux) ne peut rien produire.

Aidez FJ à déterminer le nombre de façons (modulo $10^9 + 7$) d'installer des arroseurs dans son champ, à raison d'au plus un par case, de sorte que chaque case soit fertile (c'est-à-dire arrosée par exactement un type d'arroseur).

Certaines cases sont déjà occupées par des vaches au pelage laineux ; cela ne les empêche pas d'être fertiles, mais aucun arroseur ne peut être installé dans ces cases.

Entrée

La première ligne contient un seul entier $N.$

Pour chaque $1\le i\le N,$ la ligne numéro $i+1$ contient une chaîne de longueur $N$ décrivant la $i$-ième ligne de la grille. Chaque caractère de cette chaîne est soit 'W' (indiquant une case occupée par une vache au pelage laineux), soit '.' (une case inoccupée).

Sortie

Affichez le reste de la division du nombre de façons d'installer les arroseurs par $10^9+7.$

Exemples

Entrée 1

2
..
..

Sortie 1

28

Remarque

Voici les quatorze possibilités lorsque du maïs doux peut pousser dans la case $(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., .., ..

Entrée 2

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

Sortie 2

2304

Remarque

Cet exemple satisfait les contraintes de la première sous-tâche décrite ci-dessous.

Sous-tâches

  • Les tests 3–4 satisfont $N\le 10$ et il y a au plus dix cases inoccupées.
  • Les tests 5–9 satisfont $N\le 200$.
  • Les tests 10–16 n'ont aucune contrainte supplémentaire.

Auteur du problème : 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.