我在dev能过在洛谷过不了,为什么啊

P1746 离开中山路

Fuvxi @ 2024-12-15 16:32:37

#include<bits/stdc++.h>
using namespace std;

int mp[105][105],n,dx[4] = {0,0,-1,1},dy[4] = {1,-1,0,0},x1,y1,ansx,ansy;
struct zuobiao
{
    int x,y;
};

void bfs(int x,int y)
{
    queue<zuobiao> q;
    q.push({x,y});
    mp[x][y] = 1;
    while(q.size())
    {
        auto u = q.front();
        q.pop();
        for(int i = 0;i < 4;i++)
        {
            int a = u.x + dx[i],b = u.y + dy[i];
            if(mp[a][b] != 0||a > n||b > n||a < 1||b < 1)
            {
                continue;
            } 
            mp[a][b] = mp[u.x][u.y] + 1;
            q.push({a,b});
        }
    }
}

int main()
{
    cin >> n;
    for(int i = 1;i <= n;i++)
    {
        for(int j = 1;j <= n;j++)
        {
            char c;
            cin >> c;
            if(c == '0')
            {
                mp[i][j] = 0;
            }
            else 
            {
                mp[i][j] = 1;
            }
        }
    }
    cin >> x1 >> y1 >> ansx >> ansy;
    bfs(x1,y1);
    cout << mp[ansx][ansy] - 1;
    return 0;
}

by Fuvxi @ 2024-12-15 16:33:11

在线等,挺急的


by kairuigg @ 2024-12-15 16:34:52

@Fuvxi你需要在线IDE


by Fuvxi @ 2024-12-15 16:35:32

@kairuigg 这是啥?


by BLX32M_10 @ 2024-12-15 16:39:25

@Fuvxi 有的时候洛谷编译器和本地不会一样,而且你的问题是 y1 这个变量名在库里面被占用了。避免这个可以用:

#define y1 abcxyz //自己随便取

这样就不会重名。


by kairuigg @ 2024-12-15 16:39:29

@Fuvxi你左侧的讨论区那一列中有一个在线IDE


by BLX32M_10 @ 2024-12-15 16:40:03

在线 IDE 在洛谷导航栏的“应用”里面。


by Fuvxi @ 2024-12-15 16:41:43

好的


by Fuvxi @ 2024-12-15 16:49:15

@kairuigg 该是改好了,但是为啥re了,有点难绷了,只有20分,我把x1,y1改成了xx1,yy1


by Fuvxi @ 2024-12-15 16:51:52

我知道了,范围!我范围只有100


by Fuvxi @ 2024-12-15 16:52:40

我过了!!!感谢各位大佬的教导,谢谢!


|