#P2117. Electricity
Electricity
描述
停电与黑夜公司(也被称为 ACM++)是一家供电公司。该公司拥有若干发电厂,每个发电厂都为其周边的一小片区域供电。这种组织形式带来了很多问题 —— 经常会出现这样的情况:在一个区域电力供应不足,而在该国的其他地区却有大量的电力剩余。
因此,ACM++ 公司决定将部分发电厂的电网连接起来。至少在第一阶段,没有必要将所有发电厂都连接成一个单一的网络,但另一方面,在关键位置创建冗余连接可能是值得的 —— 也就是说,网络可能会包含回路。已经提出了各种连接方案,并且对这些方案进行评估的复杂阶段已经开始。
必须考虑的标准之一是所创建网络的可靠性。为了评估它,我们假设可能发生的最糟糕的事件是发电厂的一个连接点出现故障,这可能会导致网络分裂成几个部分。虽然这些部分中的每一个仍然可以工作,但它们中的每一个都必须应对各种问题,所以至关重要的是,要将由于移除一个连接点而导致网络分裂成的部分数量减到最少。
你的任务是编写一个软件来帮助评估这种风险。你的程序会得到网络的描述,并且它应该确定在移除一个连接点(不包括被移除的连接点本身)之后,网络可能由的不连通部分的最大数量。
输入
输入由若干个实例组成。 每个实例的第一行包含两个整数,和,它们由一个空格分隔。是发电厂的数量。发电厂被分配了到之间的整数。是连接的数量。该实例接下来的行描述了这些连接。每行包含两个整数,由一个空格分隔,表示编号为和的发电厂是相连的。每个连接恰好被描述一次,并且每两个发电厂之间最多只有一个连接。 这些实例紧挨着依次出现,没有任何分隔符。输入由一行包含两个的行终止。
输出
输出由若干行组成。输出的第行对应于输入的第个实例。输出的每一行都包含一个整数。是通过移除该实例中发电厂的一个连接点所能得到的网络的连通部分的最大数量。
输入数据 1
3 3
0 1
0 2
2 1
4 2
0 1
2 3
3 1
1 0
0 0
输出数据 1
1
2
2
来源
2004 年 CTU 公开赛