A1415 | AC狗的C
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
这天,AC狗走在路上,突然摔了一跤,爬起来后发现自己好像有点变化,AC的C摔掉了,只剩下A,这回得改名叫A狗了。
但是AC狗不想改名,想找回他的C,他在地上疯狂寻找,发现地上掉落了不少个C。
假设地面是一个 $N×M$ 的平面。平面里要么是字符
C的上下两端的长度相同,长度至少为2,竖列的长度至少为3,且C的内部不能有
(连在一起是指上下左右四个方向)
例如:
```
.....
.***.
.*...
.***.
.....
```
是一个C。
```
.....
.***.
.*...
.**..
.....
```
不是一个C,上下两端长度不同。
```
.....
.***.
.**..
.***.
.....
```
不是一个C,C竖着的列宽度为1,且内部不能有符号。
```
.....
.***.
.*...
.***.
**...
```
不是一个C,因为不是独立存在,和其他连在一起。
```
.....
.***.
.*...
.***.
*....
```
是一个C。
但是AC狗不想改名,想找回他的C,他在地上疯狂寻找,发现地上掉落了不少个C。
假设地面是一个 $N×M$ 的平面。平面里要么是字符
.,要么是字符*。找到所有*构成的C的个数。C的上下两端的长度相同,长度至少为2,竖列的长度至少为3,且C的内部不能有
*。并且这些C独立唯一,不和其他字符连在一起。且C的列宽度为1。(连在一起是指上下左右四个方向)
例如:
```
.....
.***.
.*...
.***.
.....
```
是一个C。
```
.....
.***.
.*...
.**..
.....
```
不是一个C,上下两端长度不同。
```
.....
.***.
.**..
.***.
.....
```
不是一个C,C竖着的列宽度为1,且内部不能有符号。
```
.....
.***.
.*...
.***.
**...
```
不是一个C,因为不是独立存在,和其他连在一起。
```
.....
.***.
.*...
.***.
*....
```
是一个C。
输入格式
输入的第一行是两个整数 $N, M$
接下来$N$行每行$M$ 个字符,要么是
接下来$N$行每行$M$ 个字符,要么是
.要么是*,代表地面。输出格式
输出为一个整数,代表地面里C的数量。
输入输出样例
输入 #1
8 10 ...**..... **.*..**** *..*..*... **.**.**** .......... ********** *......... **********
输出 #1
4
输入 #2
11 9 ***...... *..****.. **.*..... **.*..**. *..*..*.. **.*..**. ...*..... ...****.. **....... *......** **.....**
输出 #2
2
【样例说明】
对于样例2,有一个C的内部出现了
【数据规模】
对于百分百的数据,$1<=N,M<=2000$
C的数量不超过1000
对于样例2,有一个C的内部出现了
*,另一个C和其他字符连接在一起,不是独立存在。【数据规模】
对于百分百的数据,$1<=N,M<=2000$
C的数量不超过1000
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?