不知道哪里错了
#include<bits/stdc++.h>
using namespace std;
int q[101][101];
int sum=0;
int n,m,t,sx,sy,x,y,ex,ey;
void dfs(int a,int b)
{
if(a==ex&&b==ex){
sum++;
return;
}
else{
q[a][b]=0;
if(q[a+1][b]!=0){
dfs(a+1,b);
q[a+1][b]=1;
}
if(q[a-1][b]!=0){
dfs(a-1,b);
q[a-1][b]=1;
}
if(q[a][b+1]!=0){
dfs(a,b+1);
q[a][b+1]=1;
}
if(q[a][b-1]!=0){
dfs(a,b-1);
q[a][b-1]=1;
}
}
}
int main()
{
memset(q,0,sizeof(q));
cin>>n>>m>>t;
cin>>sx>>sy>>ex>>ey;
for(int i = 1;i <= n;i++){
for(int j = 1;j <= m;j++){
q[i][j]=1;
}
}
for(int i = 1;i <= t;i++){
cin>>x>>y;
q[x][y]=0;
}
dfs(sx,sy);
cout<<sum;
return 0;
}