求助,没有输出

P1746 离开中山路

kevin24 @ 2021-07-12 15:33:54

#include<bits/stdc++.h>
using namespace std;
int steps[1001],ax[1001],ay[1001],x,y,xx,yy,n;
char a[1010][1010];
int dx[4]={-1,1,0,0};
int dy[4]={0,0,-1,1};
void bfs(){
    int head=0,tail=1,nx,ny;
    steps[1]=1;
    ax[1]=x;
    ay[1]=y;
    while(head<tail){
        head++;
        for(int i=0;i<=4;i++){
            a[ax[head]][ay[head]]='1';
            nx=ax[head]+dx[i];
            ny=dy[i]+ay[head];  
            if(a[nx][ny]=='0'&&nx<=n&&nx>0&&ny>0&&ny<=n){
                tail++;
                ax[tail]=nx;    
                ay[tail]=ny;
                a[nx][ny]='1';
                steps[tail]=steps[head]+1;
                if(nx==xx&&ny==yy) {         
                    cout<<steps[tail];
                    return ;
                }
            }
        }
    }
}
int main(){
    cin>>n;
    for(int i=0;i<n;i++)
       for(int j=0;j<n;j++)
          cin>>a[i][j];
    cin>>x>>y>>xx>>yy;
    bfs();
    return 0;
}

by CodingJellyfish @ 2021-07-12 15:36:55

@奥法猎手

for(int i=0;i<=4;i++)你这里 RE 了啊,这种 bug 应该自己多调一调才能早点达到我这么高的水平


by Rn_Lamsuly @ 2021-07-12 15:40:54

@CodingJellyfish

tql %%% orz orz orz orz orz


by lighthouse @ 2021-07-12 15:44:05

stO%%% @CodingJellyfish %%%orz


by Rosaya @ 2021-07-12 15:55:34

@奥法猎手

您前面的编号不是0-n编号的吗?

后面那个:

nx<=n&&nx>0&&ny>0&&ny<=n

显然边界错了啊qwq。


by kevin24 @ 2021-07-12 15:56:56

多谢


by CodingJellyfish @ 2021-07-24 07:39:05

卧槽我被机惨了


|