不知道为什么,输出总是不太对劲。
#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;
}