为什么全WA了(运行错误)
#include<bits/stdc++.h>
using namespace std;
int n,m;
int x1[8]={0,0,1,-1,1,1,-1,-1},y2[8]={1,-1,0,0,1,-1,1,-1};
char a[111][111];
int f(int x,int y) {
for(int i =0;i<=7;i++){
x = x+x1[i];y = y+y2[i];
if(a[x][y]=='W'){
a[x][y]='.';
f(x,y);
}else{
x = x-x1[i];y = y-y2[i];
}
}
}
int main() {
scanf("%d%d",&n,&m);
if(m==0)return 0;
int s=0;
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
cin>>a[i][j];
}
}
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
if(a[i][j]=='W') {
a[i][j]='.';
s++;
f(i,j);
}
}
}
cout<<s<<endl;
return 0;
}
求调