@[Hiraeth](/space/show?uid=99460) 数据范围开大一点嘛QAQ
by qian_shang @ 2019-01-30 15:46:18
@[小梁](/space/show?uid=64175) 不存在溢出啊
by Hiraeth @ 2019-01-30 15:47:42
@[Hiraeth](/space/show?uid=99460) 那我看看
by qian_shang @ 2019-01-30 15:52:32
@[Hiraeth](/space/show?uid=99460) 最后一个判断是```(!flag)```吧QAQ
by qian_shang @ 2019-01-30 16:00:00
@[Hiraeth](/space/show?uid=99460) 附上份代码
```
#include<bits/stdc++.h>
using namespace std;
struct lyf
{
int x,y;
}k[5000000];
int n,m,sx,sy,ex,ey,a[2000][2000];
int dx[4]={0,-1,0,1},dy[4]={-1,0,1,0};
bool fl,vis[2000][2000];
void dfs(int x,int y,int t)
{
k[t].x=x;k[t].y=y;
if (x==ex&&y==ey)
{
fl=1;
printf("(%d,%d)",k[0].x,k[0].y);
for (int i=1;i<=t;i++)
printf("->(%d,%d)",k[i].x,k[i].y);
printf("\n");
return ;
}
for (int i=0;i<4;i++)
{
int xx=x+dx[i],yy=y+dy[i];
if (!a[xx][yy]||vis[xx][yy]) continue;
vis[xx][yy]=1;
dfs(xx,yy,t+1);
vis[xx][yy]=0;
}
}
int main()
{
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
scanf("%d",&a[i][j]);
scanf("%d%d%d%d",&sx,&sy,&ex,&ey);
vis[sx][sx]=1;
dfs(sx,sy,0);
if (!fl) printf("-1");
return 0;
} ```
by qian_shang @ 2019-01-30 16:05:42