Rt
#include<bits/stdc++.h>
using namespace std;
int m,n;
int sx,sy,fx,fy,T,tx,ty;
int ans=0;
int a[20][20]={1};
void dfs(int sx,int sy,int fx,int fy)
{
if(sx==fx&&sy==fy)
{
ans++;
return;
}else if(a[sx][sy+1]==1)
{
a[sx][sy]=0;
dfs(sx,sy+1,fx,fy);
a[sx][sy+1]=1;
}else if(a[sx][sy-1]==1)
{
a[sx][sy]=0;
dfs(sx,sy-1,fx,fy);
a[sx][sy-1]=1;
}else if(a[sx+1][sy]==1)
{
a[sx][sy]=0;
dfs(sx+1,sy,fx,fy);
a[sx+1][sy]=1;
}else if(a[sx-1][sy]==1)
{
a[sx][sy]=0;
dfs(sx-1,sy,fx,fy);
a[sx-1][sy]=1;
}
}
int main()
{
memset(a,0,sizeof(a));
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
a[i][j]=1;
cin>>T;
cin>>sx>>sy>>fx>>fy;
a[sx][sy]=0;
while(T--)
{
cin>>tx>>ty;
a[tx][ty]=0;
}
dfs(sx,sy,fx,fy);
cout<<ans;
return 0;
}
**谢谢大佬**