#P2258. The Settlers of Catan
The Settlers of Catan
描述
在1995年德国年度游戏《卡坦岛》中,玩家们试图通过建造道路、定居点和城市来征服一片未知的荒野。
你受雇于一家软件公司,该公司决定开发这款游戏的电脑版本,而你被选中实现其中一条特殊规则:
当游戏结束时,建造了最长道路的玩家将获得额外的两分胜利点数。
这里的问题在于,玩家通常会构建复杂的道路网络,而不仅仅是一条线性路径。因此,确定最长道路并非易事(尽管人类玩家通常一眼就能看出来)。
与原始游戏相比,我们将在此解决一个简化的问题:给定一组节点(城市)和一组连接这些节点的边(道路段,长度为)。
最长道路的定义是网络中不重复使用任何一条边的最长路径。节点可以多次访问。
示例:以下网络包含一条长度为的道路。
o o--o o
\ / \ /
o--o o--o
/ \ / \
o o--o o--o
\ /
o--o
输入
输入包含一个或多个测试用例。
每个测试用例的第一行包含两个整数:节点数()和边数()。接下来的行描述条边。每条边由连接的两个节点的编号给出。节点编号从到。边是无向的。节点的度数不超过。网络不一定是连通的。
输入以和均为时终止。
输出
对于每个测试用例,输出最长道路的长度,占一行。
输入样例 1
3 2
0 1
1 2
15 16
0 2
1 2
2 3
3 4
3 5
4 6
5 7
6 8
7 8
7 9
8 10
9 11
10 12
11 12
10 13
12 14
0 0
输出样例 1
2
12
来源
乌尔姆本地赛 1998