求助,不能输出!

P1746 离开中山路

Little_Andyyu @ 2023-08-17 17:37:03


#include<bits/stdc++.h>
using namespace std;
int xx[4]={-1,1,0,0},yy[4]={0,0,-1,1}; 
int h[1001][4];
bool a[1008][1008];
int r,c,x,y,t=0,w=1;
char k;
int main()
{
    memset(a,false,sizeof(a));
    cin>>r>>c;
    for(int i=1;i<=r;i++){
        for(int j=1;j<=c;j++){
        cin>>k;
        if(k=='0')a[i][j]=true;
        else a[i][j]=false;
        }
    }
    int q,v,s,u;
    cin>>q>>v>>s>>u;
    h[1][1]=q;
    h[1][2]=v;
    h[1][3]=0;
    a[q][v]=false;
    while(t<w){
        t++;
        for(int i=0;i<4;i++)
        {
            x=h[t][1]+xx[i];
            y=h[t][2]+yy[i];
            if(x>0&&x<=r&&y>0&&y<=c&&a[x][y])
            {
                w++;
                h[w][1]=x;
                h[w][2]=y;
                h[w][3]=h[t][3]+1;
                a[x][y]=false;
                if(x==s&&y==u)
                {
                    cout<<h[w][3];
                    return 0;
                }
            }
        }
    }
    return 0;
}

by Hanzelic @ 2023-08-17 18:19:55

前排


by taoruixuan12 @ 2023-08-17 18:24:51

有没有一种可能,只能输入一个n


by taoruixuan12 @ 2023-08-17 18:34:49

我微调了一下,但为什么RE了

#include<bits/stdc++.h>
using namespace std;
int xx[4]={-1,1,0,0},yy[4]={0,0,-1,1}; 
int h[1001][4];
bool a[1008][1008];
int r,c,x,y,t=0,w=1;
string k;
int main()
{
    memset(a,false,sizeof(a));
    cin>>r;
    for(int i=1;i<=r;i++){
        cin>>k;
        for(int j=0;j<k.size();j++)
            if(k[j]=='0')a[i][j+1]=true;
            else a[i][j+1]=false;
    }
    int q,v,s,u;
    cin>>q>>v>>s>>u;
    h[1][1]=q;
    h[1][2]=v;
    h[1][3]=0;
    a[q][v]=false;
    while(t<w){
        t++;
        for(int i=0;i<4;i++)
        {
            x=h[t][1]+xx[i];
            y=h[t][2]+yy[i];
            if(x>0&&x<=r&&y>0&&y<=r&&a[x][y])
            {
                w++;
                h[w][1]=x;
                h[w][2]=y;
                h[w][3]=h[t][3]+1;
                a[x][y]=false;
                if(x==s&&y==u)
                {
                    cout<<h[w][3];
                    return 0;
                }
            }
        }
    }
    return 0;
}

by NO_OI_NO_LIFE @ 2023-08-19 21:24:13

@Little_Andyyu 可以学习一下队列


|