爆0了,9MLE,1WA蒟蒻求助

P1746 离开中山路

`minn`根本用不着啊,直接广搜,如果搜到了终点就一定是最短路啊
by FCB_1899 @ 2021-03-02 21:58:27


谢谢dalao ~~但是还是0分~~
by B1ade_ @ 2021-03-02 22:04:26


```cpp #include<bits/stdc++.h> using namespace std; bool a[1005][1005]; int x,y,xe,ye,n; struct node { int x,y,d; }; queue<node>q; int ne[]={1,0,-1,0},nx[]={0,1,0,-1}; int main() { cin>>n; for (int i=1;i<=n;++i) { string st;cin>>st; for (int j=1;j<=n;++j) { a[i][j]=st[j-1]-'0'; } } cin>>x>>y>>xe>>ye; node n11;n11.d=0;n11.x=x;n11.y=y; q.push(n11); while (!q.empty()) { node t=q.front(); q.pop(); if (t.x==xe&&t.y==ye) { cout<<t.d; return 0; } for (int i=0;i<4;++i) { int xx=t.x+ne[i],yy=t.y+nx[i]; if (xx>=1&&xx<=n&&yy>=1&&yy<=n&&!a[xx][yy]) { node n12;n12.x=xx;n12.y=yy;n12.d=t.d+1; q.push(n12); a[xx][yy]=1; } } } return 0; } ``` 给你改对了 @[RAINDEER](/user/158878)
by FCB_1899 @ 2021-03-02 22:07:26


~~另外,我认为万能头是一种极劣的癖好~~
by FCB_1899 @ 2021-03-02 22:08:34


@[RAINDEER](/user/158878) ~~不要问怎么写的,代码太古早了。(你看都没有用万能头~~ ```cpp #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<string> using namespace std; char c[2010][2010]; int n,x1,y1,x2,y2;bool f=0; int dx[4]={0,0,-1,1},dy[4]={-1,1,0,0}; int h=0,t=0; struct st { int x; int y; int s; }q[10000010]; void bfs(int a,int b) { while (h<t) { for (int i=0;i<4;++i) { int nx=q[h].x+dx[i]; int ny=q[h].y+dy[i]; if (nx>=1&&nx<=n&&ny>=1&&ny<=n&&c[nx][ny]!='1') { if (nx==a&&ny==b) {cout<<q[h].s+1;return ;} c[nx][ny]='1'; q[t].x=nx; q[t].y=ny; q[t++].s=q[h].s+1; } } ++h; } } int main() { cin>>n; for (int i=1;i<=n;++i) for (int j=1;j<=n;++j) cin>>c[i][j]; cin>>x1>>y1>>x2>>y2; q[t].x=x1; q[t].s=0; q[t++].y=y1; c[x1][y1]='1'; bfs(x2,y2); return 0; } ```
by ____OccDreamer @ 2021-03-03 18:30:40


谢谢dalao们
by B1ade_ @ 2021-03-14 21:48:53


|