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

A2236. 标识设计

编程题 NOI/NOI+/CTSC

题目描述

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

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

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

输入格式

第一行包含两个空格分开的正整数 $n$ 和 $m$,分别表示方格的行数和列数。

接下来 $n$ 行,每行 $m$ 个字符,第 $(i + 1)$ 行第 $j$ 个字符代表第 $i$ 行第 $j$ 列的图形,该字符只可能为 .## 表示该方格为装饰性图形,. 表示可以放置 L 图案的空白区域。

输出格式

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

输入输出样例

输入 #1
4 4
....
#...
....
..#.
输出 #1
4

说明/提示

#### 数据规模与约定

对于 $100\%$ 的数据,保证 $2\le n,m\leq 30$。
上一题 去做题 下一题