Problem3086--油田[Oil Deposits,UVa572]

3086: 油田[Oil Deposits,UVa572]

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1  Solved: 1
[Status] [Submit] [Creator:]

Description

GeoSurvComp地质调查公司,负责勘测地下石油含量。他们在一块很大的矩形的土地上进行勘探,然后把这块土地划分成多个正方形的方格,从而构成了一个网格。然后对每个小方格进行分析,使用传感器确定这个小方格是否含有石油。如果这个小方格含有石油,就把它叫做一个oil pocket。如果两个oil pocket是相连的(相连的定义是两个方格朝横、竖或对角线方向相连),那么它们同属于一个oil deposit。一个oil deposits可以很大、可以包含很多个oil pocket。你的任务就是,给定一个网格,确定这个网格中有多少个oil deposit?

Input

输入包含多组测试数据。每组测试数据描述的是一个m*n的网格。
每组测试数据:
第一行是空格隔开的两个整数m和n,表示网格是m行 n列(1≤m≤100,1≤n≤100)
接下来m行,每行n个字符,一个字符表示一个方格,如果字符是“*”表示这个方格没有石油,字符是“@”表示是一个oil pocket。
当输入为单独的一行“0 0”时,表示输入结束

Output

对于每组测试数据,输出这个网格中包含多少个不同的oil deposit。

Sample Input Copy

1 1
*
3 5
*@*@*
**@**
*@*@*
1 8
@@****@*
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0

Sample Output Copy

0
1
2
2

Source/Category

DFS UVA level6