dfs求助!!!
查看原帖
dfs求助!!!
878137
_QWQ__QWQ_楼主2023/8/1 22:32

不知道为什么,输出总是不太对劲。

#include<bits/stdc++.h>
using namespace std;
char op[100][100];
bool vis[100][100];
int sx,sy,ex,ey,cnt;
int n,m,flag=0;
bool pd(int x,int y){
	if(x==1||x==n||y==1||y==m||op[x][y]=='#'||vis[x][y]){
		return 1;
	}
	return 0;
}
void dfs(int x,int y){
	if(pd(x,y)||flag==1){
		return;
	}
	cout<<x<<' '<<y<<endl;
	if(x==ex&&y==ey){
		flag=1;
		return ;
	}
	vis[x][y]=1;
	dfs(x-1,y);
	dfs(x,y+1);
	dfs(x+1,y);
	dfs(x,y-1);
	cnt++;
}
int main(){
	cin>>n>>m>>sx>>sy>>ex>>ey;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>op[i][j];
		}
	}
	dfs(sx,sy);
	cout<<cnt;
	return 0;
}

2023/8/1 22:32
加载中...