11 pts 的一种可能
查看原帖
11 pts 的一种可能
1046223
a_blue_fool楼主2025/1/24 15:59

如果你是用的是 SPFA 并且在初始化 dist 数组的时候,这么写:

memset(dist, 0x3f, sizeof(dist));

那么就要注意,在最后输出方案的时候,判断是否联通的时候需要这样

for (int i = 1; i <= m; i++)
    if (dist[i] != 1061109567)
        printf("%d ", i);

而非像 bfs 分层一样

for (int i = 1; i <= m; i++)
    if (dist[i])
        printf("%d ", i);

虽然我自己都没想明白我为什么不写 bfs 而写 SPFA

2025/1/24 15:59
加载中...