我觉得我对的啊///

P1238 走迷宫

@[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


|