图里有环会怎样

kahn 已经写好。补全 main:在原来的六门课上多加一条 5→1,就出现了一个环。各跑一遍,把两次排出来的长度拼起来输出(无环的在前)。 六门课的先修关系:0→2、1→2、2→3、2→4、3→5、4→5(邻接表 COURSE)。 (本题

开始练习 →

验一个顺序是不是拓扑序

补全 valid(order, g):检查每条边都从前指到后。验两个顺序,拼起来输出:0 1 2 3 4 5 和 0 1 3 2 4 5。 六门课的先修关系:0→2、1→2、2→3、2→4、3→5、4→5(邻接表 COURSE)。 (本题用

开始练习 →

拿到网络问题先做什么

第 1 步:从 0 出发 第 2 步:钻到 1 第 3 步:钻到 3 第 4 步:钻到 4 第 5 步:退回来,才走到 2 第 6 步:5 和 6 在另一块,走不到 0 1 3 2 4 5 6 1 2 3 4 5 要把一个实际问题变成图问题

开始练习 →

交付图遍历的解要验什么

第 1 步:从 0 出发,步数 0 第 2 步:第 1 圈:步数 1 第 3 步:第 2 圈:步数 2 第 4 步:圈与圈之间按步数排好 0 1 3 2 4 5 6 0 1 1 2 2 把一个图遍历的解交出去,最该验的是【0】。

开始练习 →

五项一起对得上吗

运行下面这段程序: 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6;邻接表 G 里每个点的邻居按编号从小到大排。 六门课的先修关系:0→2、1→2、2→3、2→4、3→5、4→5(邻接表 COURSE)。 #inclu

开始练习 →

第一步两种遍历

最终作品第一步:bfs 已经写好,补全 DFS 的 go。输出 2 号在两个顺序里的位次(从 1 数起),用 / 拼起来(DFS 在前)。 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6;邻接表 G 里每个点的邻居按编

开始练习 →

第二步连通分量

补全 blocks,输出三样:块数 / 第一块多大 / 第二块多大。 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6;邻接表 G 里每个点的邻居按编号从小到大排。 (本题用 g++ -std=c++17 -O0 编译。

开始练习 →

第三步最短步数和路径

dist 已经写好,补全 bfs_path,输出两样:0 到 4 的步数 / 这条路径(路径内部用 - 连)。 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6;邻接表 G 里每个点的邻居按编号从小到大排。 (本题用 g

开始练习 →

第四步网格和拓扑序

kahn 已经写好。补全 islands,输出两样:四连通下的岛数 / 六门课拓扑序的长度。 本节的网格(四行四列,1 是陆地,0 是海):1100 / 1001 / 0010 / 1000。 六门课的先修关系:0→2、1→2、2→3、2→

开始练习 →

交付遍历连通最短步

这是这条路线的最终作品。其余函数都已写好,补全 bfs 和 kahn,然后一次验完五条:DFS 与 BFS 走到的点集合相同;这张图 2 块、大小 5 和 2;0 到 4 最少 2 步、路径 0-2-4,DFS 找到的那条要 3 步;网格四

开始练习 →