A1635.AC狗的C
入门
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
这天,AC狗走在路上,突然摔了一跤,爬起来后发现自己好像有点变化,AC的C摔掉了,只剩下A,这回得改名叫A狗了。
但是AC狗不想改名,想找回他的C,他在地上疯狂寻找,发现地上掉落了不少个C。
假设地面是一个 N×M 的平面。平面里要么是字符.
,要么是字符*
。找到所有*
构成的C的个数。
C的上下两端的长度相同,长度至少为2,竖列的长度至少为3,且C的内部不能有*
。并且这些C独立唯一,不和其他字符连在一起。且C的列宽度为1。
(连在一起是指上下左右四个方向)
例如:
.....
.***.
.*...
.***.
.....
是一个C。
.....
.***.
.*...
.**..
.....
不是一个C,上下两端长度不同。
.....
.***.
.**..
.***.
.....
不是一个C,C竖着的列宽度为1,且内部不能有符号。
.....
.***.
.*...
.***.
**...
不是一个C,因为不是独立存在,和其他连在一起。
.....
.***.
.*...
.***.
*....
是一个C。
输入格式
输入的第一行是两个整数 N,M
接下来N行每行M 个字符,要么是.
要么是*
,代表地面。
输出格式
输出为一个整数,代表地面里C的数量。
输入输出样例
输入#1
8 10 ...**..... **.*..**** *..*..*... **.**.**** .......... ********** *......... **********
输出#1
4
输入#2
11 9 ***...... *..****.. **.*..... **.*..**. *..*..*.. **.*..**. ...*..... ...****.. **....... *......** **.....**
输出#2
2
说明/提示
【样例说明】
对于样例2,有一个C的内部出现了*
,另一个C和其他字符连接在一起,不是独立存在。
【数据规模】
对于百分百的数据,1<=N,M<=2000
C的数量不超过1000