代码:
#include<cstdio>
using namespace std;
int n,m,t,ans;
int sx,sy,fx,fy;
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
int zx[100],zy[100];
int ax[100],ay[100];
int vx[100],vy[100];
void dfs(int x,int y)
{
if(sx==fx&&sy==fy)
{
ans++;
return;
}
for(int k=0;k<4;k++)
{
int tx,ty;
tx=x+dx[k];
ty=y+dy[k];
if(ax[tx]==0&&ay[ty]==0&&vx[tx]==0&&vy[ty]==0)
{
vx[tx]=1;
vy[ty]=1;
dfs(tx,ty);
}
}
}
int main()
{
scanf("%d%d%d",&n,&m,&t);
scanf("%d%d%d%d",&sx,&sy,&fx,&fy);
for(int i=1;i<=t;i++)
{
scanf("%d%d",&zx[i],&zy[i]);
ax[zx[i]]=1;
ay[zy[i]]=1;
}
vx[sx]=1;
vy[sy]=1;
dfs(sx,sy);
printf("%d",ans);
return 0;
}