附:测试数据test data 只要这些数据通过,就算不ac,也是对的 http://cerberus.delos.com:790/NOV04_2.htm
这题个人感觉和机器有关,有人总是ac不了,但是是对的
#include<stdio.h>
char a[102][102];
static int count=0;
void DFS(int n,int m){
int i,j;
a[n][m]='.';
for(i=n-1; i<=n+1; i++)
for(j=m-1; j<=m+1; j++)
if(a[i][j]=='W')
DFS(i,j);
}
int DFSTravel(int n,int m){
int i,j;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(a[i][j]=='W') {
count++;
a[i][j]='.';
DFS(i,j);
}
return count;
}
int main(){
int n,m;
int i,j;
scanf("%d %d",&n,&m);
fflush(stdin);
for(i=0; i<102; i++)
for(j=0; j<102; j++)
a[i][j]='.';
for(i=1; i<=n; i++){
for(j=1; j<=m; j++)
scanf("%c",&a[i][j]);
getchar();// 去掉回车
}
printf("%d",DFSTravel(n,m));
return 0;
}