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
我过了!!!感谢各位大佬的教导,谢谢!