我只得了 70 分,有 3 个点 WA 了!
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=10;
int nx[5]={0,1,0,-1,0},ny[5]={0,0,1,0,-1};
int n,m,t,sy,sx,fx,fy,a[N][N],vis[N][N],ans=0,xx,yy;
void dfs(int x,int y){
vis[xx][yy]=1;
if(x==fx&&y==fy){
ans++;
vis[x][y]=0;
return;
}
for(int i=1;i<=4;i++){
int xx=x+nx[i],yy=y+ny[i];
if(a[xx][yy]==1)continue;
if(xx<1||xx>n||yy<1||yy>m)continue;
if(vis[xx][yy]==1)continue;
dfs(xx,yy);
}vis[xx][yy]=0;
}
signed main(){
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
for(int i=1;i<=t;i++){
int x,y;
cin>>x>>y;
a[x][y]=1;
}dfs(sx,sy);
cout<<ans;
return 0;
}
求 大佬 帮帮我!
帮忙必 壶关!