#P14121. [SCCPC 2021] Don't Really Like How The Story Ends
[SCCPC 2021] Don't Really Like How The Story Ends
Description
银河系中有 个行星,许多无向曲速通道连接着它们。 年前,Spinel 对这些行星进行了一次深度优先搜索,访问了所有的行星,并按照被发现的顺序将它们从 到 进行了标号。
自那以后,许多通道已经损坏,现在只剩下 条通道可以使用。Spinel 想知道,需要修建多少条新的通道,才能保证能够进行一次深度优先搜索,并且访问顺序正好与 年前标号时完全一致。
回顾一下深度优先搜索 (DFS) 算法。它输入一个图 和 的一个顶点 ,并将所有从 可达的顶点标记为已访问。
下面是递归实现 DFS 的伪代码:
procedure DFS(G, v) is
label v as discovered
for all vertices w that there exists an edge between v and w do
if vertex w is not labeled as discovered then
recursively call DFS(G, w)
Input Format
有多组测试数据。第一行包含一个整数 ,表示测试数据组数。对于每一组数据:
第一行包含两个整数 和 (),分别表示行星的数量和剩余通道的数量。
接下来的 行中,第 行包含两个整数 和 (),表示存在一条连接 和 的通道。
保证所有测试数据中 的总和不超过 。
Output Format
对于每组测试数据,输出一行一个整数,表示至少需要修建多少条新的曲速通道。
3
2 3
1 1
1 2
2 1
4 1
1 4
4 2
1 2
3 4
0
2
1
Hint
对于第二组样例,可以在行星 和 之间添加一条通道,在行星 和 之间再添加一条通道。
对于第三组样例,可以在行星 和 之间添加一条通道。
由 ChatGPT 5 翻译
京公网安备 11011102002149号