问题 1729 --水洼(完善程序)

1729: 水洼(完善程序)★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 648  解决: 424
[提交][状态][命题人:]

题目描述

题意:有一块N×M的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼?

#include<cstdio>
int h,w,s=0;
char a[115][115];
void search(int y,int x){
    if(______(1)_________)
    	return;
    ______(2)__________
    search(y-1,x);
    search(y+1,x);
    search(y,x-1);
    search(y,x+1);
    search(y-1,x-1);
    search(y-1,x+1);
    search(y+1,x-1);
    search(y+1,x+1);
}
int main(){
    scanf(" %d %d",&h,&w);//前面有空格,可以过滤掉空格 
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            scanf(" %c",&a[i][j]);
            }
        }
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            if(a[i][j]=='W'){
                s++;
                ______(3)_________
            }
        }
    }
    _______(4)_________
    return 0;
}



输入

第一行为N,M(1≤N,M≤110)。

下面为N*M的土地示意图。

输出

一行,共有的水洼数。
样例输入
Copy
10 12
W........WW.
.WWW.....WWW
....WW...WW.
.........WW.
.........W..
..W......W..
.W.W.....WW.
W.W.W.....W.
.W.W......W.
..W.......W.
样例输出
Copy
3

提示

来源

 

[提交][状态]