题解
2025-08-16 16:56:08
发布于:广东
4阅读
0回复
0点赞
#include<iostream>
using namespace std;
int nx[]{1,0,-1,0},ny[]{0,-1,0,1};
int n,m,c,x1,y3,x2,y2,ans;
int a[6][6];
bool vis[6][6];
void dfs(int x,int y){
if(x==x2&&y==y2){
ans++;
return;
}
for(int i=0;i<4;i++){
int sx=x+nx[i],sy=y+ny[i];
if(sx>=1&&sx<=n&&sy>=1&&sy<=m&&!vis[sx][sy]&&!a[sx][sy]==1){
vis[sx][sy]=1;
dfs(sx,sy);
vis[sx][sy]=0;
}
}
return;
}
int main(){
cin>>n>>m>>c;
cin>>x1>>y3>>x2>>y2;
for(int i=1;i<=c;i++){
int x,y;
cin>>x>>y;
a[x][y]=1;
}
vis[x1][y3]=1;
dfs(x1,y3);
cout<<ans;
}
这里空空如也
有帮助,赞一个