测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6091. 「SCOI2011」地板

编程题 NOI/NOI+/CTSC
知识点

题目描述

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

![22.jpg.gif](/uploads/acgo/image/54e61d6a1010f812_bfd82e3cb6c1.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$ 。
上一题 去做题 下一题