#include<bits/stdc++.h>
using namespace std;
const int INF= 0 ,INT =1 , maxs=10;
int N,M,T;
int S1,S2;
int X,Y,X1,Y1;
long long SUM;
int VIS[maxs][maxs];
int XV[4]={-1,0,1,0};
int YV[4]={0,1,0,-1};
void dfs(int X , int Y, int ANS , int XS , int YS){分别表示当前X坐标,当前Y坐标,当前共走了几步,上一步X坐标,上一步Y坐标
if(X==X1 && Y==Y1){SUM++;return;}
for(int i=INF;i < 4;i++){
int DX=X+XV[i],DY=Y+YV[i];
if(VIS[DX][DY]==INT || (DX==XS && DY==YS)) continue;
if(DX<=INF || DX>=N+1 || DY<=INF || DY>=M+1) continue;
dfs(DX,DY,ANS+1,X,Y);
}
}
int main(){
cin>>N>>M>>T;
cin>>X>>Y>>X1>>Y1;
for(int i=1;i<=T;i++){cin>>S1>>S2;VIS[S1][S2]=INT;}
dfs(X,Y,INF,INF,INF);
printf("%d\n",SUM);
return 0;
}
啊????没搞懂呀!!!