#P1603. 我们需要更多的boss
我们需要更多的boss
题目描述
你的朋友正在开发一款电脑游戏。他已经决定了游戏世界的样子——它应该由 个地点通过 双向 通道连接而成。这些通道的设计使得可以从任何一个地点到达任何其他地点(即保证这是一个连通图)。
当然,一些通道应该被怪物守卫(如果你可以随意走动而没有任何困难,那就没有乐趣了,对吧?)。一些关键的通道将被非常可怕的怪物守卫,要求英雄做好战斗准备并设计自己的战胜它们的策略(通常这些怪物被称为 boss)。你的朋友希望你帮助他放置这些boss。
游戏将在地点 开始,并在地点 结束,但这些地点尚未选择。
在选择这些地点后,你的朋友将在每条 必经之路 中放置一个boss。这里,必经之路 定义为:如果从地点 出发到地点 的所有路径都笔记经过这个通道,则这个通道就是必经之路。
你的朋友希望放置尽可能多的boss(因为更多的挑战意味着更多的乐趣,对吧?),所以他请你帮助他确定在考虑所有可能选择 或 的情况下,最多可以放置多少个boss。
输入格式
第一行包含两个整数 和 (, ) — 地点和通道的数量。
接下来 行,每行包含两个整数 和 (, ) 描述一个通道的两个端点。
保证没有一对地点直接通过两个或多个通道连接,并且任何地点都可以从任何其他地点到达。
输出格式
打印一个整数 — 你的朋友可以放置的最大boss数量,考虑所有可能的 和 的选择。
样例
5 5
1 2
2 3
3 1
4 1
5 2
2
4 3
1 2
4 3
3 2
3