样例都没过但也拿了50,我也不知道是哪里写错了
#include<bits/stdc++.h>
using namespace std;
int ans=0,a[6][6]={0},n,m,t,sx,sy,fx,fy;
void dfs(int x,int y){
if(x==fx&&y==fy){
ans++;
/*for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<endl<<endl;*/
return;
}
if(x+1>0&&x+1<=n&&a[x+1][y]==0){
x++;
a[x][y]=1;
dfs(x,y);
a[x][y]=0;
}
if(x-1>0&&x-1<=n&&a[x-1][y]==0){
x--;
a[x][y]=1;
dfs(x,y);
a[x][y]=0;
}
if(y-1>0&&y-1<=m&&a[x][y-1]==0){
y--;
a[x][y]=1;
dfs(x,y);
a[x][y]=0;
}
if(y+1>0&&y+1<=m&&a[x][y+1]==0){
y++;
a[x][y]=1;
dfs(x,y);
a[x][y]=0;
}
}
int main() {
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
if(sx<=0||sx>n||sy<=0||sy>m||fx<=0||fx>n||fy<=0||fy>m)
{cout<<0;return 0;}
for(int i=1;i<=t;i++){
int x1,y1;
cin>>x1>>y1;
if(x1>0&&x1<=n&&y1>0&&y1<=m)
a[x1][y1]=2;
}
for(int i=0;i<=5;i++){a[i][0]=2;a[0][i]=2;}
a[sx][sy]=1;
dfs(sx,sy);
cout<<ans;
return 0;
}