1 /*
2 利用宽搜将每块积水填满,添加一个计数器,记下填满几块积水即答案
3 */
4 #include<iostream>
5 using namespace std;
6 char a[105][105];
7 int r[8][2] = {{-1,-1},{-1,0},{0,-1},{-1,1},{1,-1},{1,1},{1,0},{0,1}};
8 int n,m;
9 void dfs(int x,int y)
10 {
11 //cout << x << " " << y << endl;
12 if(x < 0 || x >= n) return ;
13 if(y < 0 || y >= m) return ;
14 if(a[x][y] != 'W') return ;
15 a[x][y] = '.';
16 for(int i=0; i<8; ++i)
17 dfs(x+r[i][0],y+r[i][1]);
18 }
19 int main()
20 {
21 while(cin >> n >> m)
22 {
23 int ans = 0;
24 for(int i=0; i<n; ++i)
25 cin >> a[i];
26 for(int i=0; i<n; ++i)
27 for(int j=0; j<m; ++j)
28 if(a[i][j] == 'W')
29 {
30 ++ans;
31 dfs(i,j);
32 }
33 cout << ans << endl;
34 }
35 return 0;
36 }