#include<bits/stdc++.h>
using namespace std;
int n,m,t,r1,c1,r2,c2,ans=0;
char a[105][105];
int dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};
void dfs(int x,int y,int s)
{
if(x==r2&&y==c2)
{
ans++;
}
if(s>=t||abs(x-r2)+abs(y-c2)>t-s)
{
return;
}
int p,q;
for(int i=0;i<4;i++)
{
p=x+dx[i];
q=y+dy[i];
if(p>0&&p<=n&&q>0&&q<=m&&a[p][q]=='.')
{
dfs(p,q,s+1);
}
}
}
int main()
{
scanf("%d%d%d",&n,&m,&t);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
scanf("%d%d%d%d",&r1,&c1,&r2,&c2);
dfs(r1,c1,0);
printf("%d",ans);
return 0;
}
评测结果