#include<iostream>
using namespace std;
int map[10][10],cnt;
int dx[6]={0,0,0,1,-1};
int dy[6]={0,1,-1,0,0};
bool vis[10][10];
int fx,fy,sx,sy,t,n,m;
void dfs(int x,int y)
{
if(x==sx&&y==sy)
{
cnt++;
return ;
}
else
{
for(int p=1;p<=4;p++)
{
int xx=x+dx[p];
int yy=y+dy[p];
if((xx>=1&&xx<=n&&yy>=1&&yy<=m)&&!vis[xx][yy]&&!map[xx][yy])
{
vis[xx][yy]=1;
dfs(xx,yy);
vis[xx][yy]=0;
}
}
}
}
int main()
{
cin>>n>>m>>t>>fx>>fy>>sx>>sy;
for(int p=1,x,y;p<=t;p++)
cin>>x>>y,map[x][y]=1;
dfs(fx,fy);
cout<<cnt<<endl;
return 0;
}
求助QwQ