80求助

P1746 离开中山路

@[tuzhewen](/space/show?uid=117648) AC代码 ```cpp #include<bits/stdc++.h> using namespace std; int n,ex,ey; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; char dt[1001][1001]; struct node { int x,y,s; }; queue<node>q; void bfs(int x,int y) { node l,t; l.x=x; l.y=y; l.s=0; q.push(l); while(q.size()) { t=q.front(); for(int i=0;i<4;i++) { int tx=t.x+dx[i]; int ty=t.y+dy[i]; if(dt[tx][ty]=='0'&&tx>0&&tx<=n&&ty>0&&ty<=n) { node z; z.x=tx; z.y=ty; z.s=t.s+1; q.push(z); if(tx==ex&&ty==ey) printf("%d",z.s); dt[tx][ty]='1'; } } q.pop(); } } int main(void) { int sx,sy; scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>dt[i][j]; scanf("%d%d%d%d",&sx,&sy,&ex,&ey); bfs(sx,sy); } ```
by 幻之陨梦 @ 2019-06-22 21:34:02


@[ZhanLang](/space/show?uid=123808) 已经AC了,谢谢QWQ
by tuzhewen @ 2019-06-23 12:15:10


@[tuzhewen](/space/show?uid=117648) 请问你的失误原因在哪 我好像和你遇到了一样的问题
by 小资情调 @ 2019-08-25 10:34:16


@[小资情调](/space/show?uid=218398) 这不是很早的事情了吗
by tuzhewen @ 2019-08-25 21:01:32


```cpp #include<bits/stdc++.h> using namespace std; int n; char a[1005][1005]; int sx,sy,fx,fy,ans[1005][1005]; int dir[4][2]={1,0,0,1,-1,0,0,-1}; struct node{ int x,y; }; void bfs(int x,int y) { ans[x][y]=0; queue <node> q; q.push(node{x,y}); while(!q.empty()) { node u=q.front(); q.pop(); for(int i=0;i<4;i++) { int nx=u.x+dir[i][0]; int ny=u.y+dir[i][1]; if(nx>=1 && nx<=n && ny>=1 && ny<=n && ans[nx][ny]==-1 && a[nx][ny]=='0') { ans[nx][ny]=ans[u.x][u.y]+1; q.push(node{nx,ny}); } } } } int main() { cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j]; } } cin>>sx>>sy>>fx>>fy; memset(ans,-1,sizeof(ans)); bfs(sx,sy); cout<<ans[fx][fy]<<endl; return 0; } ``` @[小资情调](/space/show?uid=218398) ACcode
by tuzhewen @ 2019-08-25 21:04:11


您自己对比一下吧
by tuzhewen @ 2019-08-25 21:04:43


谢谢,我也看到错误了
by 小资情调 @ 2019-08-25 21:13:58


|