dfs
#include#include #include #include #include #include #include using namespace std;int ans=0,n,m,t,sx,sy,tx,ty;bool f[10][10];int dx[]={ 0,1,-1,0,0},dy[]={ 0,0,0,-1,1};void dfs(int x,int y){ if(x==tx&&y==ty) { ans++; return; } for(int i=1;i<=4;i++) { int kx=x+dx[i],ky=y+dy[i]; if(kx<=m&&kx>=1&&ky<=n&&ky>=1) if(!f[kx][ky]) { f[kx][ky]=true; dfs(kx,ky); f[kx][ky]=false; } }}int main(){ scanf("%d%d%d",&n,&m,&t); scanf("%d%d%d%d",&sx,&sy,&tx,&ty); for(int i=1;i<=t;i++) { int x,y; scanf("%d%d",&x,&y); f[x][y]=true; } f[sx][sy]=true; dfs(sx,sy); printf("%d",ans); return 0;}