1827 矿场搭建 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1827

矿场搭建

Medium 时间限制 1000 ms 内存限制 262144 KB
图的连通性 双连通分量

题目详情

返回题库

题目描述

煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。

请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。

输入描述

输入文件有若干组数据。

每组数据的第一行是一个正整数 $N\ (N \le 500)$,表示工地的隧道数。

接下来的 $N$ 行每行是用空格隔开的两个整数 $S$ 和 $T$,表示挖煤点 $S$ 与挖煤点 $T$ 由隧道直接连接。

输入数据以 $0$ 结尾。

输出描述

对于每组数据,输出一行。

第 $i$ 行组数据以 $\verb!Case i: !$ 开始(注意大小写,$\verb!Case!$ 与 $\verb!i!$ 之间有空格,$\verb!i!$ 与 $\verb!:!$ 之间无空格,$\verb!:!$ 之后有空格)。

其后是用空格隔开的两个正整数,第一个正整数表示对于第 $i$ 组输入数据至少需要设置几个救援出口,第二个正整数表示对于第 $i$ 组输入数据不同最少救援出口的设置方案总数。

输入数据保证答案小于 $2^{64}$。输出格式参照以下输入输出样例。

提示

样例解释
  • Case 1 的四组解分别是 $(2,4)$,$(3,4)$,$(4,5)$,$(4,6)$;
  • Case 2 的一组解为 $(4,5,6,7)$。
数据范围及约定

对于每组数据,设 $m$ 为各组 $S, T$ 中最大值,则有:

  • $1 \le m \le 10^3$;
  • 各组 $S, T$ 构成的集合 $V\in[1, m] \cap \mathbb Z$。
  • $V$ 中任意两点连通。

测试样例

样例支持多行内容展示
样例1
输入
9
1 3
4 1
3 5
1 2
2 6
1 5
6 3
1 6
3 2
6
1 2
1 3
2 4
2 5
3 6
3 7
0
输出
Case 1: 2 4
Case 2: 4 1
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。