0分求调
查看原帖
0分求调
1017215
jnq2011楼主2024/11/30 15:03
#include<bits/stdc++.h>
using namespace std;
int a[113+5][77+5],n,m,vis[113][77];
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
void dfs(int x,int y){
	if(x==n&&y==m){
		return ;
	}
	for(int i=0;i<4;i++){
		int _x=x+dx[i],_y=y+dy[i];
		if(vis[_x][_y]==0&&_x>=1&&_y>=1&&_x<=n&&_y<=m&&a[_x][_y]==1){
			vis[_x][_y]=1;
			cout<<_x<<' '<<_y<<endl;
			dfs(_x,_y); 
			
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			char c;
			cin>>c;
			if(c=='.')a[i][j]=1;
			else a[i][j]=0;
		}
	}
	cout<<1<<' '<<1<<endl;
	vis[1][1]=1;
	dfs(1,1);
	cout<<n<<' '<<m;
}
2024/11/30 15:03
加载中...