70求助!!哪里有问题呢!?
查看原帖
70求助!!哪里有问题呢!?
1188320
666dengdeng楼主2024/7/20 16:40

#include<bits/stdc++.h> using namespace std; typedef long long int lint; char a[102][102]; bool mk[102][102]; bool flag; int n,m; void dfs(int x,int y){ if(x==m&&y==n){ flag=true; return; }//递归基 int dx[]={0,-1,0,1}; int dy[]={-1,0,1,0}; for(int i=0;i<4;i++){ int tx=x+dx[i]; int ty=y+dy[i]; if(tx<1||tx>m||ty<1||ty>n){ continue; } if(a[tx][ty]!='#'&&mk[tx][ty]==false){ mk[x][y]=true; dfs(tx,ty); mk[x][y]=true; }

}

} int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } dfs(1,1); if(flag) cout<<"Yes"; else cout<<"No"; return 0; }

2024/7/20 16:40
加载中...