#2437. 「SCOI2011」地板

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: luyanaa

题目描述

lxhgww 的小名叫 "小 L " ,这是因为他总是很喜欢 L 型的东西。小 L 家的客厅是一个 R \times C 的矩形,现在他想用 L 型的地板来铺满整个客厅,客厅里有些位置有柱子,不能铺地板。现在小 L 想知道,用 L 型的地板铺满整个客厅有多少种不同的方案?
需要注意的是,如下图所示, L 型地板的两端长度可以任意变化,但不能长度为 0 。铺设完成后,客厅里面所有没有柱子的地方都必须铺上地板,但同一个地方不能被铺多次。

22.jpg.gif

输入格式

输入的第一行包含两个整数, R C ,表示客厅的大小。
接着是 R 行,每行 c 个字符。 _ 表示对应的位置是空的,必须铺地板; * 表示对应的位置有柱子,不能铺地板。

输出格式

输出一行,包含一个整数,表示铺满整个客厅的方案数。由于这个数可能很大,只需输出它除以 20110520 的余数。

样例

样例输入 1

2 2
*_
__

样例输出 1

1

样例输入 2

3 3
___
_*_
___

样例输出 2

8

数据范围与提示

对于第一,第二个测试点, R \times C \le 25 。 对于第三,第四,第五个测试点, R \times C \le 100 ,且 R=2 C=2 。 对于第六到第十个测试点, R \times C \le 100