社区讨论
本来0分不震惊的,可下载的数据震惊我了,求大佬帮助
P1332血色先锋队参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo2l3rir
- 此快照首次捕获于
- 2023/10/23 15:36 2 年前
- 此快照最后确认于
- 2023/10/23 15:36 2 年前
原代码
CPP#include <iostream>
#include <cmath>
#include <queue>
using namespace std;
long long n, m, A, B, vis[510][510], jl[510][510],
dx[4] = {1, -1, 0, 0}, dy[4] = {0, 0, -1, 1};
struct zuobiao
{
long long x, y;
};
zuobiao a[101000], b[101000];
queue<zuobiao> q;
int main ()
{
cin >> n >> m >> A >> B;
for(long long i = 1; i <= A; i++)
{
cin >> a[i].x >> a[i].y;
q.push(a[i]);
vis[a[i].x][a[i].y] = 1;
}
for(long long i = 1; i <= B; i++)
{
cin >> b[i].x >> b[i].y;
if(vis[b[i].x][b[i].y] == 1) cout << 0 << endl;
vis[b[i].x][b[i].y] = 2;
}
cout << endl << endl << endl << endl;
while (q.empty() != 1)
{
zuobiao c = q.front();
q.pop();
for(long long i = 0; i < 4; i++)
{
zuobiao d = {c.x + dx[i], c.y + dy[i]};
if(d.x >= 1 && d.x <= n && d.y >= 1 && d.y <= m
&& vis[d.x][d.y] != 1)
{
if(vis[d.x][d.y] == 1)
{
jl[d.x][d.y] = min(jl[d.x][d.y], jl[c.x][c.y] + 1);
} else
{
jl[d.x][d.y] = jl[c.x][c.y] + 1;
}
vis[d.x][d.y] = 1;
q.push(d);
}
}
}
for(long long i = 1; i <= B; i++) cout << jl[b[i].x][b[i].y] << endl;
return 0;
}
我下载的数据 #1
输入 (应该正常)
CPP10 10 50 50
9 3
6 2
1 4
3 6
9 2
8 1
7 2
3 10
2 1
5 2
8 6
6 1
2 2
2 8
2 5
2 9
9 7
2 6
8 7
8 5
9 4
10 6
10 1
2 3
10 3
8 9
3 7
5 3
7 1
9 9
4 7
4 9
1 1
6 3
10 8
10 7
8 4
10 5
3 9
7 9
4 4
9 8
10 10
6 9
5 7
7 5
9 5
1 9
7 7
3 3
8 1
7 6
9 3
4 10
10 1
7 2
2 8
6 6
2 7
3 5
1 4
5 8
4 8
4 1
3 8
3 3
2 1
8 2
1 1
8 10
9 4
8 7
2 10
9 5
9 8
4 2
10 9
8 9
6 10
4 7
5 2
3 7
8 8
6 9
4 9
10 10
5 7
2 3
1 3
4 6
10 5
2 9
4 4
9 10
1 6
8 4
4 3
1 8
6 3
9 2
输出 (震惊)
CPPਰਰਰਰਰਲਰਲਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰਰ
求解释
回复
共 3 条回复,欢迎继续交流。
正在加载回复...