#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,a[20][20],vis[20][20],sx,sy,ex,ey,rd[255][3],dx[5]={0,0,1,-1},dy[5]={1,-1,0,0},flag=0;
void dfs(int stp,int x,int y){
if(x==ex&&y==ey){
flag=1;
for(int i=1;i<=stp;i++){
if(i==1){
cout<<"("<<sx<<","<<sy<<")";
}
else{
cout<<"->("<<rd[i][0]<<","<<rd[i][1]<<")";
}
}
cout<<"->("<<ex<<","<<ey<<")"<<endl;
return;
}
for(int i=0;i<4;i++){
int nx=x+dx[i],ny=y+dy[i];
if(nx<=n&&ny<=m&&nx>=1&&ny>=1&&vis[nx][ny]==0&&a[nx][ny]==1){
rd[stp][0]=x;
rd[stp][1]=y;
vis[nx][ny]=1;
dfs(stp+1,nx,ny);
vis[nx][ny]=0;
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j=m;j++){
cin>>a[i][j];
}
}
cin>>sx>>sy>>ex>>ey;
vis[sx][sy]=1;
dfs(1,sx,sy);
if(flag==0){
cout<<-1;
}
return 0;
}
求调,深搜,但凡输一个数据都tle,排查过死循环,但是没查出来哪里死循环了