代码如下
#include<bits/stdc++.h>
using namespace std;
int n,m,t,sx,sy,fx,fy,tx,ty,a[6][6],ans;
int read()
{
int s=0,w=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')
w=-1;
c=getchar();
return s*w;
}
while(c>='0'&&c<='9')
{
s=s*10+c-'0';
c=getchar();
return s*w;
}
}
void print(int x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>=10)
print(x/10);
putchar(x%10+'0');
return;
}
void dfs(int x,int y)
{
if((x<1||x>n)||(a[x][y]==1)||(y<1||y>m))
return;
if(x==fx&&y==fy)
{
ans++;
return;
}
a[x][y]=1;
dfs(x+1,y);
dfs(x,y+1);
dfs(x-1,y);
dfs(x,y-1);
a[x][y]=0;
}
int main()
{
n=read(),m=read(),t=read(),sx=read(),sy=read(),fx=read(),fy=read();
for(int i=1;i<=t;i++)
{
tx=read(),ty=read();
a[tx][ty]=1;
}
dfs(sx,sy);
print(ans);
return 0;
}