题解
2025-03-30 22:26:35
发布于:江苏
0阅读
0回复
0点赞
#include<iostream>
#include<cstring>
using namespace std;
long long n,m,t,sx,sy,fx,fy,x,y,num,a[10][10],dx[4]={0,1,0,-1},dy[4]={1,0,-1,0},vis[10][10];
void dfs(int sx,int sy)
{
if(sx==fx && sy==fy){
num++;
return ;
}
else{
for(int i=0;i<4;i++){
int nx,ny;
nx=dx[i]+sx;
ny=dy[i]+sy;
if(a[nx][ny]==1 && vis[nx][ny]==0){
vis[sx][sy]=1;
dfs(nx,ny);
vis[sx][sy]=0;
}
}
}
}
int main(){
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
a[i][j]=1;
}
}
for(int i=1;i<=t;i++){
cin>>x>>y;
a[x][y]=0;
}
dfs(sx,sy);
cout<<num;
}
这里空空如也
有帮助,赞一个