WA了8个点
#include<stdio.h>
int mp[10][10],N,M,T,SX,SY,FX,FY,r;
#define S(U,V) \
if((x U)>=1&&(x U)<=N&&(y V)>=1&&(y V)<=M&&!mp[x U][y V])\
{\
mp[x U][y V]=1;\
dfs(x U,y V,k+1);\
mp[x U][y V]=0;\
}
void dfs(int x,int y,int k)
{
if(x==FX&&y==FY)
{
++r;
return;
}
S(+1,+1)S(-1,-1)
S(+1,-1)S(-1,+1)
return;
}
int main(void)
{
scanf("%d%d%d%d%d%d%d",&N,&M,&T,&SX,&SY,&FX,&FY);
for(int i=1,TX,TY;i<=T;++i)
scanf("%d%d",&TX,&TY),mp[TX][TY]=1;
mp[SX][SY]=1;
dfs(SX,SY,0);
printf("%d",r);
return 0;
}