社区讨论

进食后人:如果你的标记BFS 65pts

P10289[GESP样题 八级] 小杨的旅游参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mc94pmta
此快照首次捕获于
2025/06/23 21:25
9 个月前
此快照最后确认于
2025/11/04 07:00
4 个月前
查看原帖
在你广搜 vis[] 标记逻辑错误的情况下,这种样例可能会WA(不一定是链式结构):
CPP
void bfs(){
    while (!q.empty()){
        int x=q.front();
//      vis[x]=true;  错误写法
        q.pop();
        for (auto y:edge[x])
            if (!vis[y]){
                div[y]=div[x]+1;
//              这里 div 数组表示某节点与距离它最近传送门的最短距离长度
                q.push(y);
//              vis[y]=true; 正确写法
            }
    }return ;
}
并且必须要保证的是在你输入 xx 然后 q.push(x); 进队的时候(这里 xx 指传送门编号),需要写 vis[x]=true;

回复

2 条回复,欢迎继续交流。

正在加载回复...