题解
2025-08-23 19:19:50
发布于:浙江
9阅读
0回复
0点赞
本题可以使用dfs进行搜索,直接套模版,不过需要注意的是方向数组要更改:
#include <bits/stdc++.h>
using namespace std;
int n,m,_x[]={0,1},_y[]={1,0},vis[1005][1005],ans;
char sz[1005][1005];
void dfs(int x,int y){
vis[x][y]=1;
if(x==n and y==m){
ans++;
return ;
}
for(int i=0;i<2;i++){
int dx=x+_x[i];
int dy=y+_y[i];
if(dx>=1 and dx<=n and dy>=1 and dy<=m and vis[dx][dy]==0 and sz[dx][dy]=='0'){
vis[dx][dy]=1;
dfs(dx,dy);
vis[dx][dy]=0;
}
}
}
int main(){
cin >> n >> m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin >> sz[i][j];
}
}dfs(1,1);
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个