代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,dx[4]={-1,1,0,0},dy[4]={0,0,-1,1},vis[6][6],a[6][6],t,m,ans,sx,sy,ex,ey,te1,te,tx,ty;
void dfs(int x,int y){
if(x==ex&&y==ey){
ans++;
return ;
}
vis[x][y]=1;
for(int i=0;i<4;i++){
tx=x+dx[i],ty=y+dy[i];
if(!a[tx][ty]&&!vis[tx][ty]&&tx<=n&&tx>=1&&ty<=m&&ty>=1)
{
dfs(tx,ty);
}
}
vis[x][y]=0;
}
int main()
{
scanf("%d%d%d %d%d%d",&n,&m,&t,&sx,&sy,&ex,&ey);
for(int i=1;i<=t;i++){
cin>>te>>te1;
a[te][te1]=1;
}
dfs(sx,sy);
cout<<ans;
return 0;
}
悬赏一个关注