为什么ans++还是1,,,
#include<bits/stdc++.h>
using namespace std;
int ma[200][200];
char a;
int n,m,k,T,x,y,d0,ans;
void dfs(int a,int b,int d){
int x0,y0;
if(d%4==0&&k>0){
x0=a;
y0=b+1;
}//向东
if(d%4==1&&k>0){
x0=a+1;
y0=b;
}//向南
if(d%4==2&&k>0){
x0=a;
y0=b-1;
}//向西
if(d%4==3&&k>0){
x0=a-1;
y0=b;
}//向北
if(x0>0&&x0<=n&&y0>0&&y0<=m&&ma[x0][y0]&&k){
ans++;
k--;
dfs(x0,y0,d);
}
else if(ma[x0][y0]=='*'||x0<0||x0>n||y0<0||y0>m){
d++;
k--;
dfs(a,b,d);
}
}
int main(){
cin>>T;
for(int z=0;z<T;z++){
ans=1;
cin>>n>>m;
cin>>x>>y>>d0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a;
if(a=='.')
ma[i][j]=1;
else if(a=='*'){
ma[i][j]=0;
}
}
}
for(int i=1;i<n;i++){
for(int j=1;j<=m;j++){
dfs(i,j,d0);
}
}
cout<<ans<<endl;
}
return 0;
}