#lg3170. [CQOI2015] 标识设计

    ID: 5599 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>动态规划 DP搜索记忆化搜索哈希 hashing轮廓线 DPNOI/NOI+/CTS

[CQOI2015] 标识设计

[AdditionalFile2099.zip](file://AdditionalFile2099.zip?type=additional_file)

#2099. 「CQOI2015」标识设计

标签: 传统 | 时间限制: 1000 ms | 内存限制: 256 MiB |

题目描述

一家缩写为 LLL 的公司正在设计 logo,他们的初步方案是在一张方格上放置三个 L 形的图案以及一些额外的装饰性图形。例如:

(灰色区域表示装饰性图形)

三个 L 图案和装饰性图形均放置在方格之中,且必须占满方格,「L」的横竖笔画长短均可,但长度必须大于零(即不能退化为一条线段)。另外,为了使 L 图形醒目且容易识别,设计师规定三个 L 形图案之间不能有重叠或交叉的部分。当然,L 形图案也不能穿过装饰图形或与之重叠。

现在设计师已经确定了所有装饰性图形的位置,希望你计算一下放置不同的 L 形图案总共可以设计出多少个 logo。

输入格式

输入文件第一行包含两个空格分开的正整数 n n m m ,分别表示方格的行数和列数。
接下来 n n 行,每行 m m 个字符,为 .## 表示该方格为装饰性图形,. 表示可以放置 L 图案的空白区域。

输出格式

输出一个整数,为可能的 logo 总数。

样例

输入

4 4
....
#...
....
..#.

输出

4

数据范围与提示

对于 100% 100\% 的数据,2n,m30 2 \leq n, m \leq 30