P1148 - 发现油田
题目描述
A 地质勘探公司负责探测地下油藏。
A 地质勘探公司 每次处理一个大型矩形区域的土地,并将其划分为一个网格,将土地分成许多方形地块。然后使用探测设备逐一分析每个地块,以确定该地块是否含有石油。
含有石油的地块称为“油田单元”。如果两个油田单元相邻,则它们属于同一个油藏。油藏可能很大,可能包含许多油田单元。你的任务是确定网格中包含多少个不同的油藏。
输入格式
输入文件包含一个或多个网格。每个网格以一行 m 和 n 开始,分别表示网格的行数和列数,二者由一个空格分隔。如果 m = 0,表示输入结束;否则,1 ≤ m ≤ 100 且 1 ≤ n ≤ 100。接下来的 m 行每行包含 n 个字符(不包括行尾字符)。每个字符对应一个地块,字符为 * 表示该地块不含石油,字符为 @ 表示该地块为油田单元。
输出格式
对于每个网格,输出一个整数,表示不同油藏的数量。如果两个油田单元在水平、垂直或对角线上相邻,则它们属于同一个油藏。一个油藏的油田单元总数不会超过 100。
样例 #1
样例输入 #1
1 1
*
3 5
*@*@*
**@**
*@*@*
1 8
@@****@*
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0
样例输出 #1
0
1
2
2
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:P1148.in,输出文件名为:P1148.out