P3272 [SCOI2011] Floor

Description

lxhgww’s nickname is “Little L” (Xiao L), because he always likes L-shaped things. Little L’s living room is an $r\times c$ rectangle. He wants to cover the entire living room with L-shaped tiles. Some positions contain pillars and cannot be tiled. Little L wants to know how many different ways there are to tile the living room using L-shaped tiles. Note that, as shown in the figure below, the two arms of an L-shaped tile can have any positive lengths, but neither arm can have length $0$. ![](https://cdn.luogu.com.cn/upload/pic/4636.png) After tiling, every position without a pillar must be covered by tiles, and no position may be covered more than once.

Input Format

The first line contains two integers, $r$ and $c$, representing the size of the living room. Then follow $r$ lines, each containing $c$ characters. Each character is either `_` or `*`. `_` indicates the position is empty and must be tiled; `*` indicates the position has a pillar and cannot be tiled.

Output Format

Output one line containing an integer: the number of tiling schemes. Since this number can be large, print the remainder when it is divided by $20110520$.

Explanation/Hint

#### Constraints | Test point ID | Limits | | :----------: | :----------: | | $1\sim 2$ | $1\le r\times c\le 25$ | | $3\sim 5$ | $1\le r\times c\le 100$ and ($r=2$ or $c=2$) | | $6\sim 10$ | $1\le r\times c\le 100$ | Translated by ChatGPT 5