哪位大佬能给我看看这道题我哪里错了(那道题里面是真的没人了)P3654
#include<iostream>
using namespace std;
char c[101][101];int a[101][101];
int dx[2]={1,0};
int dy[2]={0,1};
int ans,m,n,k;
void dfs(int x,int y,int sum)
{
if(sum>k)
{
ans++;
return ;
}
if(c[x][y]!='.'||x<=0||y<=0||x>n||y>m)
return ;
for(int i=0;i<2;++i)
{
int xx=x+dx[i];int yy=y+dy[i];
if(c[x][y]!='.'||x<=0||y<=0||x>n||y>m)
continue;
dfs(xx,yy,sum+1);
}
}
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
{
cin>>c[i][j];
if(c[i][j]=='#')
a[i][j]=0;
else
{
a[i][j]=1;
}
}
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
if(a[i][j]!=0)
dfs(i,j,1);
}
}
if(k==1)
cout<<ans/2;
else
cout<<ans;
return 0;
}